Diligent Engine API Reference: Diligent::ShaderResourceBindingBase< BaseInterface > Class Template Reference

Diligent Engine API Reference

Public Member Functions | Protected Attributes | List of all members
Diligent::ShaderResourceBindingBase< BaseInterface > Class Template Reference

Template class implementing base functionality for a shader resource binding. More...

Inheritance diagram for Diligent::ShaderResourceBindingBase< BaseInterface >:

## Public Member Functions
| ShaderResourceBindingBase (IReferenceCounters *pRefCounters, IPipelineState *pPSO, bool IsInternal=false)
virtual IPipelineState * | GetPipelineState () override final
| Implementation of IShaderResourceBinding::GetPipelineState().

## Protected Attributes
RefCntAutoPtr< IPipelineState > | m_spPSO
| Strong reference to PSO. We must use strong reference, because shader resource binding uses PSO's memory allocator to allocate memory for shader resource cache.

## Detailed Description

### template<class BaseInterface>
class Diligent::ShaderResourceBindingBase< BaseInterface >

Template class implementing base functionality for a shader resource binding.

Template Parameters

  BaseInterface | - base interface that this class will inheret (Diligent::IShaderResourceBindingGL, Diligent::IShaderResourceBindingD3D11, or Diligent::IShaderResourceBindingD3D12).

## Constructor & Destructor Documentation

## ◆ ShaderResourceBindingBase()

template<class BaseInterface>

Diligent::ShaderResourceBindingBase< BaseInterface >::ShaderResourceBindingBase | ( | IReferenceCounters * | pRefCounters,
|  | IPipelineState * | pPSO,
|  | bool | IsInternal = `false`
| ) |  |
| inline

Parameters

  pRefCounters | - reference counters object that controls the lifetime of this SRB.
  pPSO | - pipeline state that this SRB belongs to.
  IsInternal | - flag indicating if the shader resource binding is an internal PSO object and must not keep a strong reference to the PSO.