Class VKShaderTable
Vulkan shader binding table.
Namespace: Evergine.Vulkan
Assembly: Evergine.Vulkan.dll
Syntax
public class VKShaderTable
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
Indicates 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)
Adds HitGroup Program.
Declaration
public void AddHitGroupProgram(string shaderIdentifier)
Parameters
Type | Name | Description |
---|---|---|
string | shaderIdentifier | Shader identifier. |
AddMissProgram(string)
Add missing program.
Declaration
public void AddMissProgram(string shaderIdentifier)
Parameters
Type | Name | Description |
---|---|---|
string | shaderIdentifier | Shader identifier. |
AddRayGenProgram(string)
Adds Raygen Program.
Declaration
public void AddRayGenProgram(string shaderIdentifier)
Parameters
Type | Name | Description |
---|---|---|
string | shaderIdentifier | Shader identifier. |
AlignTo(uint, uint)
Shader Binding Table 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 | Aligned record size. |
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Declaration
public void Dispose()
Generate(VkPipeline)
Generates ShaderTable (fills buffer).
Declaration
public void Generate(VkPipeline pipeline)
Parameters
Type | Name | Description |
---|---|---|
VkPipeline | pipeline | Raytracing pipeline. |
GetHitGroupSize()
Gets the Ray generation entry size.
Declaration
public ulong GetHitGroupSize()
Returns
Type | Description |
---|---|
ulong | Entry size. |
GetHitGroupStartAddress()
Gets the 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 | The entry size. |
GetMissStartAddress()
Gets the 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 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 address. |
GetRayGenStride()
Gets the ray generation stride.
Declaration
public ulong GetRayGenStride()
Returns
Type | Description |
---|---|
ulong | The entry stride. |