Diligent::IShaderResourceBinding struct

Shader resource binding interface.

Base classes

struct IObject
Base interface for all dynamic objects in the engine.

Derived classes

struct IShaderResourceBindingD3D11
Exposes Direct3D11-specific functionality of a shader resource binding object.
struct IShaderResourceBindingD3D12
Exposes Direct3D12-specific functionality of a shader resource binding.
struct IShaderResourceBindingGL
Exposes OpenGL-specific functionality of a shader resource binding object.
class IShaderResourceBindingMtl
Exposes Metal-specific functionality of a shader resource binding object.
struct IShaderResourceBindingVk
Exposes Vulkan-specific functionality of a shader resource binding object.

Public functions

auto GetPipelineResourceSignature() const -> struct IPipelineResourceSignature*METHOD() virtual
Returns pointer to the referenced PSO object. Deprecated: use GetPipelineResourceSignature() instead.
auto BindResources(Uint32 ShaderFlags, IResourceMapping* pResMapping, Uint32 Flags) -> void METHOD() virtual
Binds mutable and dynamice resources using the resource mapping.
auto GetVariableByName(SHADER_TYPE ShaderType, const char* Name) -> IShaderResourceVariable*METHOD() virtual
Returns variable.
auto GetVariableCount(SHADER_TYPE ShaderType) const -> Uint32 METHOD() virtual
Returns the total variable count for the specific shader stage.
auto GetVariableByIndex(SHADER_TYPE ShaderType, Uint32 Index) -> IShaderResourceVariable*METHOD() virtual
Returns variable.
auto StaticResourcesInitialized() const -> bool METHOD() virtual
Returns true if static resources have been initialized in this SRB.

Function documentation

struct IPipelineResourceSignature*METHOD() Diligent::IShaderResourceBinding::GetPipelineResourceSignature() const virtual

Returns pointer to the referenced PSO object. Deprecated: use GetPipelineResourceSignature() instead.

The method calls AddRef() on the returned interface, so Release() must be called to avoid memory leaks. Returns pointer to the referenced pipeline resource signature object. The method calls AddRef() on the returned interface, so Release() must be called to avoid memory leaks.

void METHOD() Diligent::IShaderResourceBinding::BindResources(Uint32 ShaderFlags, IResourceMapping* pResMapping, Uint32 Flags) virtual

Binds mutable and dynamice resources using the resource mapping.

Parameters
ShaderFlags in - Flags that specify shader stages, for which resources will be bound. Any combination of Diligent::SHADER_TYPE may be used.
pResMapping in - Shader resource mapping, where required resources will be looked up
Flags in - Additional flags. See Diligent::BIND_SHADER_RESOURCES_FLAGS.

IShaderResourceVariable*METHOD() Diligent::IShaderResourceBinding::GetVariableByName(SHADER_TYPE ShaderType, const char* Name) virtual

Returns variable.

Parameters
ShaderType in - Type of the shader to look up the variable. Must be one of Diligent::SHADER_TYPE.
Name in - Variable name

Uint32 METHOD() Diligent::IShaderResourceBinding::GetVariableCount(SHADER_TYPE ShaderType) const virtual

Returns the total variable count for the specific shader stage.

Parameters
ShaderType in - Type of the shader.

IShaderResourceVariable*METHOD() Diligent::IShaderResourceBinding::GetVariableByIndex(SHADER_TYPE ShaderType, Uint32 Index) virtual

Returns variable.

Parameters
ShaderType in - Type of the shader to look up the variable. Must be one of Diligent::SHADER_TYPE.
Index in - Variable index. The index must be between 0 and the total number of variables in this shader stage as returned by IShaderResourceBinding::GetVariableCount().