Exposes Vulkan-specific functionality of a Shader binding table object. More...
#include <ShaderBindingTableVk.h>
Public Member Functions | |
| virtual const BindingTableVk &DILIGENT_CALL_TYPE | GetVkBindingTable () const =0 |
| Returns the data that can be used with vkCmdTraceRaysKHR() call. | |
Public Member Functions inherited from Diligent.IShaderBindingTable | |
| virtual const ShaderBindingTableDesc &DILIGENT_CALL_TYPE | GetDesc () const override=0 |
| Returns the shader binding table description that was used to create the object. | |
| virtual Bool DILIGENT_CALL_TYPE | Verify (VERIFY_SBT_FLAGS Flags) const =0 |
| Checks that all shaders are bound, instances and geometries have not changed, shader record data are initialized. | |
| virtual void DILIGENT_CALL_TYPE | Reset (IPipelineState *pPSO)=0 |
| Resets the SBT with the new pipeline state. This is more efficient than creating a new SBT. | |
| virtual void DILIGENT_CALL_TYPE | ResetHitGroups ()=0 |
| Resets hit groups in the SBT. | |
| virtual void DILIGENT_CALL_TYPE | BindRayGenShader (const Char *pShaderGroupName, const void *pData=nullptr, Uint32 DataSize=0)=0 |
| Binds a ray-generation shader. | |
| virtual void DILIGENT_CALL_TYPE | BindMissShader (const Char *pShaderGroupName, Uint32 MissIndex, const void *pData=nullptr, Uint32 DataSize=0)=0 |
| Binds a ray-miss shader. | |
| virtual void DILIGENT_CALL_TYPE | BindHitGroupForGeometry (ITopLevelAS *pTLAS, const Char *pInstanceName, const Char *pGeometryName, Uint32 RayOffsetInHitGroupIndex, const Char *pShaderGroupName, const void *pData=nullptr, Uint32 DataSize=0)=0 |
| Binds a hit group for the the specified geometry in the instance. | |
| virtual void DILIGENT_CALL_TYPE | BindHitGroupByIndex (Uint32 BindingIndex, const Char *pShaderGroupName, const void *pData=nullptr, Uint32 DataSize=0)=0 |
| Binds a hit group to the specified location in the table. | |
| virtual void DILIGENT_CALL_TYPE | BindHitGroupForInstance (ITopLevelAS *pTLAS, const Char *pInstanceName, Uint32 RayOffsetInHitGroupIndex, const Char *pShaderGroupName, const void *pData=nullptr, Uint32 DataSize=0)=0 |
| Binds a hit group for all geometries in the specified instance. | |
| virtual void DILIGENT_CALL_TYPE | BindHitGroupForTLAS (ITopLevelAS *pTLAS, Uint32 RayOffsetInHitGroupIndex, const Char *pShaderGroupName, const void *pData=nullptr, Uint32 DataSize=0)=0 |
| Binds a hit group for all instances in the given top-level AS. | |
| virtual void DILIGENT_CALL_TYPE | BindCallableShader (const Char *pShaderGroupName, Uint32 CallableIndex, const void *pData=nullptr, Uint32 DataSize=0)=0 |
| Binds a callable shader. | |
Public Member Functions inherited from Diligent::IDeviceObject | |
| virtual Int32 DILIGENT_CALL_TYPE | GetUniqueID () const =0 |
| Returns unique identifier assigned to an object. | |
| virtual void DILIGENT_CALL_TYPE | SetUserData (IObject *pUserData)=0 |
| Stores a pointer to the user-provided data object. | |
| virtual IObject *DILIGENT_CALL_TYPE | GetUserData () const =0 |
| Returns a pointer to the user data object previously set with SetUserData() method. | |
Public Member Functions inherited from Diligent.IObject | |
| virtual void DILIGENT_CALL_TYPE | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0 |
| Queries the specific interface. | |
| template<typename DerivedType, typename = typename std::enable_if<std::is_base_of<IObject, DerivedType>::value>::type> | |
| void | QueryInterface (const INTERFACE_ID &IID, DerivedType **ppInterface) |
| virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | AddRef ()=0 |
| Increments the number of strong references by 1. | |
| virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | Release ()=0 |
| virtual IReferenceCounters *DILIGENT_CALL_TYPE | GetReferenceCounters () const =0 |
Exposes Vulkan-specific functionality of a Shader binding table object.
|
pure virtual |
Returns the data that can be used with vkCmdTraceRaysKHR() call.