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,
32 Panini = 2u,
35
36SHARED_BITMASK_ENUM_BEGIN(ViewFlags, uint32_t)
37 Overdraw = 1u << 0,
38 Meshlet = 1u << 1,
39 BaseColor = 1u << 2,
40 Normal = 1u << 3,
41 Position = 1u << 5,
42 Matcap = 1u << 6,
43 TextureLOD = 1u << 7,
44 AOVDiffuse = 1u << 8,
45 AOVSpecular = 1u << 9,
46 AOVSampleCount = 1u << 10,
47 SHARCGrid = 1u << 11,
48 SHARCOccupancy = 1u << 12,
49 SHARCRadiance = 1u << 13,
50 LightTiles = 1u << 14,
55
56SHARED_BITMASK_ENUM_BEGIN(MaterialFlags, uint32_t)
57 DbgWhiteBaseColor = 1u << 0
59
60SHARED_BITMASK_ENUM_BEGIN(CullFlags, uint32_t)
61 Frustum = 1u << 0,
62 Occlusion = 1u << 1,
63 Backface = 1u << 2,
64 StageEarly = 1u << 16,
65 StageLate = 1u << 17
67
68SHARED_BITMASK_ENUM_BEGIN(PTCompileOptions, uint32_t)
69 SamplerSobol = 1u << 1,
70 SamplerPCG = 1u << 2,
71 ForceTextureLOD0 = 1u << 3,
75
76SHARED_BITMASK_ENUM_BEGIN(GSInstanceFlags, uint32_t)
77 Dynamic = 0x100u
79
80SHARED_BITMASK_ENUM_BEGIN(GSLightFlags, uint32_t)
81 TwoSided = 0x100u,
82 UseShadow = 0x200u,
83 EnvironmentMap = 0x400u
85
86#undef SHARED_BITMASK_ENUM_BEGIN
87#undef SHARED_BITMASK_ENUM_END
88#undef SHARED_ENUM_BEGIN
89#undef SHARED_ENUM_END
TextureLOD
Definition Flags.h:43
EnableRasterRTShadows
Definition Flags.h:51
AOVDiffuse
Definition Flags.h:44
Meshlet
Definition Flags.h:38
BaseColor
Definition Flags.h:39
SHARCOccupancy
Definition Flags.h:48
EnergyCompensation
Definition Flags.h:73
Matcap
Definition Flags.h:42
AOVSpecular
Definition Flags.h:45
Panini
Definition Flags.h:32
StageLate
Definition Flags.h:65
LightSamplerUniform
Definition Flags.h:72
#define SHARED_BITMASK_ENUM_END()
Definition Flags.h:16
StageEarly
Definition Flags.h:64
ForceTextureLOD0
Definition Flags.h:53
Sobol
Definition Flags.h:21
LightTiles
Definition Flags.h:50
SHARCGrid
Definition Flags.h:47
SHARCRadiance
Definition Flags.h:49
Panoramic
Definition Flags.h:31
#define SHARED_BITMASK_ENUM_BEGIN(T, INT_T)
Definition Flags.h:15
EnableRasterAmbientOcclusion
Definition Flags.h:52
#define SHARED_ENUM_END()
Definition Flags.h:14
SamplerPCG
Definition Flags.h:70
AOVSampleCount
Definition Flags.h:46
Position
Definition Flags.h:41
Normal
Definition Flags.h:40
#define SHARED_ENUM_BEGIN(T, INT_T)
Definition Flags.h:13
UseShadow
Definition Flags.h:82
Fisheye
Definition Flags.h:33
PCG
Definition Flags.h:20
Backface
Definition Flags.h:63
Uniform
Definition Flags.h:26
Occlusion
Definition Flags.h:62