Diligent Engine API Reference: Diligent::PipelineStateBase< BaseInterface, RenderDeviceBaseInterface > Class Template Reference

Diligent Engine API Reference

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

Template class implementing base functionality for a pipeline state object. More...

Inheritance diagram for Diligent::PipelineStateBase< BaseInterface, RenderDeviceBaseInterface >:

## Public Member Functions
| PipelineStateBase (IReferenceCounters *pRefCounters, IRenderDevice *pDevice, const PipelineStateDesc &PSODesc, bool bIsDeviceInternal=false)
Public Member Functions inherited from Diligent::DeviceObjectBase< BaseInterface, PipelineStateDesc >
| DeviceObjectBase (IReferenceCounters *pRefCounters, IRenderDevice *pDevice, const PipelineStateDesc &ObjDesc, bool bIsDeviceInternal=false)
UniqueIdentifier | GetUniqueID () const
| Returns unique identifier. More...

## Protected Attributes
RefCntAutoPtr< IShader > | m_pVS
| Strong reference to the vertex shader.
RefCntAutoPtr< IShader > | m_pPS
| Strong reference to the pixel shader.
RefCntAutoPtr< IShader > | m_pGS
| Strong reference to the geometry shader.
RefCntAutoPtr< IShader > | m_pDS
| Strong reference to the domain shader.
RefCntAutoPtr< IShader > | m_pHS
| Strong reference to the hull shader.
RefCntAutoPtr< IShader > | m_pCS
| Strong reference to the compute shader.
IShader * | m_ppShaders [5]
| Array of pointers to shaders that this PSO uses.
Uint32 | m_NumShaders
| Number of shaders that this PSO uses.
Protected Attributes inherited from Diligent::DeviceObjectBase< BaseInterface, PipelineStateDesc >
const String | m_ObjectNameCopy
| Copy of a device object name. More...
PipelineStateDesc | m_Desc
| Object description.

## Detailed Description

### template<class BaseInterface, class RenderDeviceBaseInterface>
class Diligent::PipelineStateBase< BaseInterface, RenderDeviceBaseInterface >

Template class implementing base functionality for a pipeline state object.

Template Parameters

  BaseInterface | - base interface that this class will inheret (Diligent::IPipelineStateD3D11, Diligent::IPipelineStateD3D12 or Diligent::IPipelineStateGL).
  RenderDeviceBaseInterface | - base interface for the render device (Diligent::IRenderDeviceD3D11, Diligent::IRenderDeviceD3D12, Diligent::IRenderDeviceGL, or Diligent::IRenderDeviceGLES).

## Constructor & Destructor Documentation

## ◆ PipelineStateBase()

template<class BaseInterface, class RenderDeviceBaseInterface>

Diligent::PipelineStateBase< BaseInterface, RenderDeviceBaseInterface >::PipelineStateBase | ( | IReferenceCounters * | pRefCounters,
|  | IRenderDevice * | pDevice,
|  | const PipelineStateDesc & | PSODesc,
|  | bool | bIsDeviceInternal = `false`
| ) |  |
| inline

Parameters

  pRefCounters | - reference counters object that controls the lifetime of this PSO
  pDevice | - pointer to the device.
  PSODesc | - pipeline state description.
  bIsDeviceInternal | - flag indicating if the blend state is an internal device object and must not keep a strong reference to the device.