Go to the documentation of this file.
33 #include "../../../Primitives/interface/Object.h"
34 #include "../../../Primitives/interface/FlagEnum.h"
43 {0xe56f5755, 0xfe5e, 0x496c, {0xbf, 0xa7, 0xbc, 0xd5, 0x35, 0x36, 0xf, 0xf7}};
47 static const Uint32 INVALID_INDEX = ~0u;
86 #if DILIGENT_CPP_INTERFACE
106 #if DILIGENT_CPP_INTERFACE
169 #if DILIGENT_CPP_INTERFACE
190 #if DILIGENT_CPP_INTERFACE
197 #define DILIGENT_INTERFACE_NAME IBottomLevelAS
198 #include "../../../Primitives/interface/DefineInterfaceHelperMacros.h"
200 #define IBottomLevelASInclusiveMethods \
201 IDeviceObjectInclusiveMethods; \
202 IBottomLevelASMethods BottomLevelAS
209 #if DILIGENT_CPP_INTERFACE
272 #include "../../../Primitives/interface/UndefInterfaceHelperMacros.h"
274 #if DILIGENT_C_INTERFACE
278 # define IBottomLevelAS_GetGeometryDescIndex(This, ...) CALL_IFACE_METHOD(BottomLevelAS, GetGeometryDescIndex, This, __VA_ARGS__)
279 # define IBottomLevelAS_GetGeometryIndex(This, ...) CALL_IFACE_METHOD(BottomLevelAS, GetGeometryIndex, This, __VA_ARGS__)
280 # define IBottomLevelAS_GetActualGeometryCount(This) CALL_IFACE_METHOD(BottomLevelAS, GetActualGeometryCount, This)
281 # define IBottomLevelAS_GetScratchBufferSizes(This) CALL_IFACE_METHOD(BottomLevelAS, GetScratchBufferSizes, This)
282 # define IBottomLevelAS_GetNativeHandle(This) CALL_IFACE_METHOD(BottomLevelAS, GetNativeHandle, This)
283 # define IBottomLevelAS_SetState(This, ...) CALL_IFACE_METHOD(BottomLevelAS, SetState, This, __VA_ARGS__)
284 # define IBottomLevelAS_GetState(This) CALL_IFACE_METHOD(BottomLevelAS, 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
Defines bottom level acceleration structure triangles description.
Definition: BottomLevelAS.h:53
#define DILIGENT_BEGIN_INTERFACE(Name, Base)
Definition: CommonDefinitions.h:97
Uint32 Flags
Definition: DXBCUtils.cpp:71
uint64_t Uint64
64-bit unsigned integer
Definition: BasicTypes.h:50
Defines the scratch buffer info for acceleration structure.
Definition: BottomLevelAS.h:177
@ RAYTRACING_BUILD_AS_ALLOW_UPDATE
Indicates that the specified acceleration structure can be updated via IDeviceContext::BuildBLAS() or...
Definition: BottomLevelAS.h:121
@ VT_UNDEFINED
Undefined type.
Definition: GraphicsTypes.h:51
struct DeviceObjectAttribs DeviceObjectAttribs
Definition: GraphicsTypes.h:1212
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:52
@ RAYTRACING_BUILD_AS_NONE
Definition: BottomLevelAS.h:116
BottomLevelASDesc() noexcept
Definition: BottomLevelAS.h:170
#define THIS
Definition: DefineInterfaceHelperMacros.h:81
#define PURE
Definition: DefineInterfaceHelperMacros.h:85
@ RAYTRACING_BUILD_AS_ALLOW_COMPACTION
Indicates that the specified acceleration structure can act as the source for a copy acceleration str...
Definition: BottomLevelAS.h:127
ScratchBufferSizes() noexcept
Definition: BottomLevelAS.h:191
@ RAYTRACING_BUILD_AS_FLAGS_LAST
Definition: BottomLevelAS.h:139
#define DILIGENT_END_NAMESPACE
Definition: CommonDefinitions.h:86
VALUE_TYPE
Value type.
Definition: GraphicsTypes.h:49
#define CONST
Definition: DefineInterfaceHelperMacros.h:84
BLASBoundingBoxDesc() noexcept
Definition: BottomLevelAS.h:107
BLASTriangleDesc() noexcept
Definition: BottomLevelAS.h:87
#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_PREFER_FAST_BUILD
Indicates that the given acceleration structure build should prioritize build time over trace perform...
Definition: BottomLevelAS.h:133
bool Bool
Boolean.
Definition: BasicTypes.h:59
RAYTRACING_BUILD_AS_FLAGS
Defines acceleration structures build flags.
Definition: BottomLevelAS.h:114
struct BottomLevelASDesc BottomLevelASDesc
Definition: BottomLevelAS.h:173
@ RAYTRACING_BUILD_AS_LOW_MEMORY
Indicates that this acceleration structure should minimize the size of the scratch memory and the fin...
Definition: BottomLevelAS.h:137
@ RAYTRACING_BUILD_AS_PREFER_FAST_TRACE
Indicates that the given acceleration structure build should prioritize trace performance over build ...
Definition: BottomLevelAS.h:130
#define METHOD(Name)
Definition: DefineInterfaceHelperMacros.h:87
#define DILIGENT_TYPED_ENUM(EnumName, EnumType)
Definition: CommonDefinitions.h:88
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
DEFINE_FLAG_ENUM_OPERATORS(FILE_DIALOG_FLAGS)
RESOURCE_STATE
Resource usage state.
Definition: GraphicsTypes.h:2814
Bottom-level AS description.
Definition: BottomLevelAS.h:145
Defines bottom level acceleration structure axis-aligned bounding boxes description.
Definition: BottomLevelAS.h:96
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
#define THIS_
Definition: DefineInterfaceHelperMacros.h:82