Rendu
A lightweight rendering engine for experimentations
Loading...
Searching...
No Matches
Common.hpp
1#pragma once
2
3#ifdef _WIN32
4# define NOMINMAX
5#endif
6
7#define GLM_FORCE_RADIANS
8#define GLM_FORCE_DEPTH_ZERO_TO_ONE
9#include <glm/glm.hpp>
10#include <glm/gtc/matrix_transform.hpp>
11#include <glm/gtx/color_space.hpp>
12#include <glm/gtx/matrix_decompose.hpp>
13#include <glm/gtx/io.hpp>
14#include <glm/gtc/constants.hpp>
15
16#include <imgui/imgui.h>
17
18#include <string>
19#include <vector>
20#include <algorithm>
21#include <memory>
22#include <array>
23
24typedef unsigned char uchar;
25typedef unsigned int uint;
26typedef unsigned long ulong;
27
28#ifdef _WIN32
29# undef near
30# undef far
31# undef ERROR
32#endif
33
34#include "system/Logger.hpp"
35
36#define STD_HASH(ENUM_NAME) \
37template <> struct std::hash<ENUM_NAME> { \
38 std::size_t operator()(const ENUM_NAME & t) const { return static_cast<std::underlying_type< ENUM_NAME >::type>(t); } \
39};