Class DX12ShaderTable
DX12 Shader binding table (buffer).
Inherited Members
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[])
Add 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[])
Add 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[])
Add 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)
Generate 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 adress.  | 
      
GetHitGroupStride()
Gets Miss stride.
Declaration
public ulong GetHitGroupStride()
  Returns
| Type | Description | 
|---|---|
| ulong | Entry stride.  | 
      
GetMissSize()
Gets 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 adress.  | 
      
GetMissStride()
Gets Miss stride.
Declaration
public ulong GetMissStride()
  Returns
| Type | Description | 
|---|---|
| ulong | Entry stride.  | 
      
GetRayGenSize()
Gets Ray generation entry size.
Declaration
public ulong GetRayGenSize()
  Returns
| Type | Description | 
|---|---|
| ulong | Entry size.  | 
      
GetRayGenStartAddress()
Get Ray generation start address.
Declaration
public ulong GetRayGenStartAddress()
  Returns
| Type | Description | 
|---|---|
| ulong | buffer adress.  | 
      
GetRayGenStride()
Gets Ray generation stride.
Declaration
public ulong GetRayGenStride()
  Returns
| Type | Description | 
|---|---|
| ulong | Entry stride.  |