Foundation
Loading...
Searching...
No Matches
Flags.h
Go to the documentation of this file.
1#pragma once
2
3#ifdef __cplusplus
4#include <Core/Enums.hpp>
5#define SHARED_ENUM_BEGIN(T, INT_T) \
6enum class T : INT_T; \
7inline constexpr INT_T to_integer(T e) { return static_cast<INT_T>(e); } \
8enum class T : INT_T {
9#define SHARED_ENUM_END() };
10#define SHARED_BITMASK_ENUM_BEGIN(T, INT_T) BITMASK_ENUM_BEGIN(T, INT_T)
11#define SHARED_BITMASK_ENUM_END() BITMASK_ENUM_END()
12#else
13#define SHARED_ENUM_BEGIN(T, INT_T) public enum class T : INT_T {
14#define SHARED_ENUM_END() };
15#define SHARED_BITMASK_ENUM_BEGIN(T, INT_T) public enum class T##Bits : INT_T {
16#define SHARED_BITMASK_ENUM_END() };
17#endif
18
19SHARED_ENUM_BEGIN(PTSampler, uint32_t)
20 PCG = 0u,
21 Sobol = 1u
23
24SHARED_ENUM_BEGIN(LightSampler, uint32_t)
25 BVH = 0u,
28
29SHARED_ENUM_BEGIN(CameraProjection, uint32_t)
30 Perspective = 0u,
33
34SHARED_BITMASK_ENUM_BEGIN(ViewFlags, uint32_t)
35 Overdraw = 1u << 0,
36 Meshlet = 1u << 1,
37 BaseColor = 1u << 2,
38 Normal = 1u << 3,
39 Position = 1u << 5,
40 Matcap = 1u << 6,
41 TextureLOD = 1u << 7,
42 AOVDiffuse = 1u << 8,
43 AOVSpecular = 1u << 9,
44 AOVSampleCount = 1u << 10,
45 SHARCGrid = 1u << 11,
46 SHARCOccupancy = 1u << 12,
47 SHARCRadiance = 1u << 13,
52
53SHARED_BITMASK_ENUM_BEGIN(MaterialFlags, uint32_t)
54 DbgWhiteBaseColor = 1u << 0
56
57SHARED_BITMASK_ENUM_BEGIN(CullFlags, uint32_t)
58 Frustum = 1u << 0,
59 Occlusion = 1u << 1,
60 Backface = 1u << 2,
61 StageEarly = 1u << 16,
62 StageLate = 1u << 17
64
65SHARED_BITMASK_ENUM_BEGIN(PTCompileOptions, uint32_t)
66 SamplerSobol = 1u << 1,
67 SamplerPCG = 1u << 2,
68 ForceTextureLOD0 = 1u << 3,
72
73SHARED_BITMASK_ENUM_BEGIN(GSInstanceFlags, uint32_t)
74 Dynamic = 0x100u
76
77SHARED_BITMASK_ENUM_BEGIN(GSLightFlags, uint32_t)
78 TwoSided = 0x100u,
79 UseShadow = 0x200u,
80 EnvironmentMap = 0x400u
82
83#undef SHARED_BITMASK_ENUM_BEGIN
84#undef SHARED_BITMASK_ENUM_END
85#undef SHARED_ENUM_BEGIN
86#undef SHARED_ENUM_END
TextureLOD
Definition Flags.h:41
EnableRasterRTShadows
Definition Flags.h:48
AOVDiffuse
Definition Flags.h:42
Meshlet
Definition Flags.h:36
BaseColor
Definition Flags.h:37
SHARCOccupancy
Definition Flags.h:46
EnergyCompensation
Definition Flags.h:70
Matcap
Definition Flags.h:40
AOVSpecular
Definition Flags.h:43
StageLate
Definition Flags.h:62
LightSamplerUniform
Definition Flags.h:69
#define SHARED_BITMASK_ENUM_END()
Definition Flags.h:16
StageEarly
Definition Flags.h:61
ForceTextureLOD0
Definition Flags.h:50
Sobol
Definition Flags.h:21
SHARCGrid
Definition Flags.h:45
SHARCRadiance
Definition Flags.h:47
Panoramic
Definition Flags.h:31
#define SHARED_BITMASK_ENUM_BEGIN(T, INT_T)
Definition Flags.h:15
EnableRasterAmbientOcclusion
Definition Flags.h:49
#define SHARED_ENUM_END()
Definition Flags.h:14
SamplerPCG
Definition Flags.h:67
AOVSampleCount
Definition Flags.h:44
Position
Definition Flags.h:39
Normal
Definition Flags.h:38
#define SHARED_ENUM_BEGIN(T, INT_T)
Definition Flags.h:13
UseShadow
Definition Flags.h:79
PCG
Definition Flags.h:20
Backface
Definition Flags.h:60
Uniform
Definition Flags.h:26
Occlusion
Definition Flags.h:59