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. |