Go to the documentation of this file.
33 #include "../../../Primitives/interface/Object.h"
34 #include "../../../Primitives/interface/FlagEnum.h"
44 {0x16561861, 0x294b, 0x4804, {0x96, 0xfa, 0x17, 0x17, 0x33, 0x3f, 0x76, 0x9a}};
64 #if DILIGENT_CPP_INTERFACE
134 #if DILIGENT_CPP_INTERFACE
141 #define DILIGENT_INTERFACE_NAME ITopLevelAS
142 #include "../../../Primitives/interface/DefineInterfaceHelperMacros.h"
144 #define ITopLevelASInclusiveMethods \
145 IDeviceObjectInclusiveMethods; \
146 ITopLevelASMethods TopLevelAS
153 #if DILIGENT_CPP_INTERFACE
207 #include "../../../Primitives/interface/UndefInterfaceHelperMacros.h"
209 #if DILIGENT_C_INTERFACE
213 # define ITopLevelAS_GetInstanceDesc(This, ...) CALL_IFACE_METHOD(TopLevelAS, GetInstanceDesc, This, __VA_ARGS__)
214 # define ITopLevelAS_GetBuildInfo(This) CALL_IFACE_METHOD(TopLevelAS, GetBuildInfo, This)
215 # define ITopLevelAS_GetScratchBufferSizes(This) CALL_IFACE_METHOD(TopLevelAS, GetScratchBufferSizes, This)
216 # define ITopLevelAS_GetNativeHandle(This) CALL_IFACE_METHOD(TopLevelAS, GetNativeHandle, This)
217 # define ITopLevelAS_SetState(This, ...) CALL_IFACE_METHOD(TopLevelAS, SetState, This, __VA_ARGS__)
218 # define ITopLevelAS_GetState(This) CALL_IFACE_METHOD(TopLevelAS, GetState, This)
#define DILIGENT_END_INTERFACE
Definition: DefineInterfaceHelperMacros.h:88
struct INTERFACE_ID INTERFACE_ID
Definition: InterfaceID.h:54
#define VIRTUAL
Definition: DefineInterfaceHelperMacros.h:83
TLASInstanceDesc() noexcept
Definition: TopLevelAS.h:135
Top-level AS description.
Definition: TopLevelAS.h:49
#define DILIGENT_BEGIN_INTERFACE(Name, Base)
Definition: CommonDefinitions.h:97
Defines TLAS state that was used in the last build.
Definition: TopLevelAS.h:101
@ HIT_GROUP_BINDING_MODE_PER_GEOMETRY
Each geometry in every instance may use a unique hit shader group. In this mode, the SBT reserves spa...
Definition: TopLevelAS.h:78
Uint32 Flags
Definition: DXBCUtils.cpp:71
@ HIT_GROUP_BINDING_MODE_USER_DEFINED
The user must specify TLASBuildInstanceData::ContributionToHitGroupIndex and only use IShaderBindingT...
Definition: TopLevelAS.h:94
uint64_t Uint64
64-bit unsigned integer
Definition: BasicTypes.h:50
Top-level AS interface.
Definition: TopLevelAS.h:151
Defines the scratch buffer info for acceleration structure.
Definition: BottomLevelAS.h:177
@ HIT_GROUP_BINDING_MODE_LAST
Definition: TopLevelAS.h:96
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:52
@ RAYTRACING_BUILD_AS_NONE
Definition: BottomLevelAS.h:116
#define THIS
Definition: DefineInterfaceHelperMacros.h:81
#define PURE
Definition: DefineInterfaceHelperMacros.h:85
Describes common device object attributes.
Definition: GraphicsTypes.h:1196
Top-level AS instance description.
Definition: TopLevelAS.h:122
TopLevelASDesc() noexcept
Definition: TopLevelAS.h:65
#define DILIGENT_END_NAMESPACE
Definition: CommonDefinitions.h:86
#define CONST
Definition: DefineInterfaceHelperMacros.h:84
#define DILIGENT_DERIVE(TypeName)
Definition: CommonDefinitions.h:90
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
#define DEFAULT_INITIALIZER(x)
Definition: CommonDefinitions.h:93
RAYTRACING_BUILD_AS_FLAGS
Defines acceleration structures build flags.
Definition: BottomLevelAS.h:114
#define METHOD(Name)
Definition: DefineInterfaceHelperMacros.h:87
#define DILIGENT_TYPED_ENUM(EnumName, EnumType)
Definition: CommonDefinitions.h:88
@ HIT_GROUP_BINDING_MODE_PER_TLAS
All instances in each TLAS will use the same hit group. In this mode, the SBT reserves a single slot ...
Definition: TopLevelAS.h:90
HIT_GROUP_BINDING_MODE
Defines hit group binding mode used by the top-level AS.
Definition: TopLevelAS.h:72
uint8_t Uint8
8-bit unsigned integer
Definition: BasicTypes.h:53
#define DILIGENT_BEGIN_NAMESPACE(Name)
Definition: CommonDefinitions.h:82
Bottom-level AS interface.
Definition: BottomLevelAS.h:207
RESOURCE_STATE
Resource usage state.
Definition: GraphicsTypes.h:2814
@ HIT_GROUP_BINDING_MODE_PER_INSTANCE
Each instance may use a unique hit shader group. In this mode, the SBT reserves one slot for each ins...
Definition: TopLevelAS.h:84
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
#define THIS_
Definition: DefineInterfaceHelperMacros.h:82