LiteFX::Rendering::IShaderRecord¶
Describes a record within a shader binding table.
Synopsis¶
Declared in <litefx/rendering_api.hpp>
struct [[dllimport, dllexport]] IShaderRecord;
Description¶
A shader record contains a shader group, that is either a single shader of type ShaderStage::RayGeneration, ShaderStage::Intersection, ShaderStage::Miss or ShaderStage::Callable, or a pair of types ShaderStage::ClosestHit and ShaderStage::AnyHit, where at least one of them needs to be set.
Typically you do not want to implement this interface itself. Prefer using the ShaderRecord template to create shader records instead.
Types¶
| Name | Description |
|---|---|
MeshGeometryHitGroup | Describes a hit group for a triangle mesh geometry. |
Type Aliases¶
| Name | Description |
|---|---|
shader_group_type | Defines the type that stores the shaders of the shader group. |
Member Functions¶
| Name | Description |
|---|---|
~IShaderRecord [destructor] [virtual] | Destructor |
localData [virtual] | Returns a pointer to the shader-local data of the record. |
localDataSize [virtual] | Returns the size of the shader-local data of the record. |
shaderGroup [virtual] | Returns the shader group containing the modules for this record. |
type | Returns the type of the shader record. |
Protected Member Functions¶
| Name | Description |
|---|---|
IShaderRecord [constructor] | Constructors |
operator= | Assignment operators |
Derived Classes¶
| Name | Description |
|---|---|
ShaderRecord<TLocalData> | Denotes a shader record containing shader-local data. |
ShaderRecord<> | Denotes a shader record containing no shader-local data. |
See Also¶
ShaderRecord
IShaderProgram::buildShaderBindingTable