Class VKShaderTable
Vulkan Shader binding table.
Implements
Inherited Members
Namespace: Evergine.Vulkan
Assembly: Evergine.Vulkan.dll
Syntax
public class VKShaderTable : IDisposable
  Constructors
VKShaderTable(VKGraphicsContext)
Initializes a new instance of the VKShaderTable class.
Declaration
public VKShaderTable(VKGraphicsContext graphicsContext)
  Parameters
| Type | Name | Description | 
|---|---|---|
| VKGraphicsContext | graphicsContext | Vulkan Graphics Context.  | 
      
Fields
disposed
Holds if the instance has been disposed.
Declaration
protected bool disposed
  Field Value
| Type | Description | 
|---|---|
| bool | 
Properties
Disposed
Gets a value indicating whether the graphic resource has been disposed.
Declaration
public bool Disposed { get; }
  Property Value
| Type | Description | 
|---|---|
| bool | 
Methods
AddHitGroupProgram(string)
Add HitGroup Program.
Declaration
public void AddHitGroupProgram(string shaderIdentifier)
  Parameters
| Type | Name | Description | 
|---|---|---|
| string | shaderIdentifier | Shader identifier.  | 
      
AddMissProgram(string)
Add Miss Program.
Declaration
public void AddMissProgram(string shaderIdentifier)
  Parameters
| Type | Name | Description | 
|---|---|---|
| string | shaderIdentifier | Shader identifier.  | 
      
AddRayGenProgram(string)
Add Raygen Program.
Declaration
public void AddRayGenProgram(string shaderIdentifier)
  Parameters
| Type | Name | Description | 
|---|---|---|
| string | shaderIdentifier | Shader identifier.  | 
      
AlignTo(uint, uint)
ShaderBindingTable alignment.
Declaration
public uint AlignTo(uint value, uint alignment)
  Parameters
| Type | Name | Description | 
|---|---|---|
| uint | value | Record size.  | 
      
| uint | alignment | Record alignment.  | 
      
Returns
| Type | Description | 
|---|---|
| uint | Record size aligned.  | 
      
Dispose()
Declaration
public void Dispose()
  Generate(VkPipeline)
Generate ShaderTable (filling buffer).
Declaration
public void Generate(VkPipeline pipeline)
  Parameters
| Type | Name | Description | 
|---|---|---|
| VkPipeline | 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.  |