Class DX12ShaderTable
DX12 Shader binding table (buffer).
Namespace: Evergine.DirectX12
Assembly: Evergine.DirectX12.dll
Syntax
public class DX12ShaderTable
Constructors
DX12ShaderTable(DX12GraphicsContext)
Initializes a new instance of the DX12ShaderTable class.
Declaration
public DX12ShaderTable(DX12GraphicsContext graphicsContext)
Parameters
Type | Name | Description |
---|---|---|
DX12GraphicsContext | graphicsContext | DX12 Graphics Context. |
Fields
Buffer
Shader binding table buffer.
Declaration
public ID3D12Resource Buffer
Field Value
Type | Description |
---|---|
ID3D12Resource |
Methods
AddHitGroupProgram(string, GpuDescriptorHandle[])
Adds HitGroup Program.
Declaration
public void AddHitGroupProgram(string shaderIdentifier, GpuDescriptorHandle[] handlers)
Parameters
Type | Name | Description |
---|---|---|
string | shaderIdentifier | Shader identifier. |
GpuDescriptorHandle[] | handlers | GPU Descriptor Handles. |
AddMissProgram(string, GpuDescriptorHandle[])
Adds a Miss Program.
Declaration
public void AddMissProgram(string shaderIdentifier, GpuDescriptorHandle[] handlers)
Parameters
Type | Name | Description |
---|---|---|
string | shaderIdentifier | Shader identifier. |
GpuDescriptorHandle[] | handlers | GPU Descriptor Handles. |
AddRayGenProgram(string, GpuDescriptorHandle[])
Adds a Raygen Program.
Declaration
public void AddRayGenProgram(string shaderIdentifier, GpuDescriptorHandle[] handlers)
Parameters
Type | Name | Description |
---|---|---|
string | shaderIdentifier | Shader identifier. |
GpuDescriptorHandle[] | handlers | GPU Descriptor Handles. |
Generate(ID3D12StateObject)
Generates a ShaderTable (filling buffer).
Declaration
public void Generate(ID3D12StateObject pipeline)
Parameters
Type | Name | Description |
---|---|---|
ID3D12StateObject | pipeline | Raytracing pipeline. |
GetHitGroupSize()
Gets ray generation entry size.
Declaration
public ulong GetHitGroupSize()
Returns
Type | Description |
---|---|
ulong | Entry size. |
GetHitGroupStartAddress()
Get HitGroup start address.
Declaration
public ulong GetHitGroupStartAddress()
Returns
Type | Description |
---|---|
ulong | Buffer address. |
GetHitGroupStride()
Gets miss stride.
Declaration
public ulong GetHitGroupStride()
Returns
Type | Description |
---|---|
ulong | Entry stride. |
GetMissSize()
Gets the Ray generation entry size.
Declaration
public ulong GetMissSize()
Returns
Type | Description |
---|---|
ulong | Entry size. |
GetMissStartAddress()
Get Miss start address.
Declaration
public ulong GetMissStartAddress()
Returns
Type | Description |
---|---|
ulong | Buffer address. |
GetMissStride()
Gets miss stride.
Declaration
public ulong GetMissStride()
Returns
Type | Description |
---|---|
ulong | Entry stride. |
GetRayGenSize()
Gets the Ray generation entry size.
Declaration
public ulong GetRayGenSize()
Returns
Type | Description |
---|---|
ulong | The entry size. |
GetRayGenStartAddress()
Get Ray generation start address.
Declaration
public ulong GetRayGenStartAddress()
Returns
Type | Description |
---|---|
ulong | Buffer address. |
GetRayGenStride()
Gets the ray generation stride.
Declaration
public ulong GetRayGenStride()
Returns
Type | Description |
---|---|
ulong | The entry stride. |