Diligent Engine API Reference: Diligent::PipelineStateGLImpl Class Reference

Diligent Engine API Reference

Public Member Functions | List of all members
Diligent::PipelineStateGLImpl Class Reference

Implementation of the Diligent::IPipelineStateGL interface. More...

Inheritance diagram for Diligent::PipelineStateGLImpl:

## Public Member Functions
virtual void | QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface) override
| Queries the specific interface, see IObject::QueryInterface() for details.
virtual void | BindShaderResources (IResourceMapping *pResourceMapping, Uint32 Flags) override
| Binds resources for all shaders in the pipeline state. More...
virtual void | CreateShaderResourceBinding (IShaderResourceBinding **ppShaderResourceBinding) override
| Creates a shader resource binding object. More...
Public Member Functions inherited from Diligent::PipelineStateBase< IPipelineStateGL, IGLDeviceBaseInterface >
| PipelineStateBase (IReferenceCounters *pRefCounters, IRenderDevice *pDevice, const PipelineStateDesc &PSODesc, bool bIsDeviceInternal=false)
Public Member Functions inherited from Diligent::DeviceObjectBase< IPipelineStateGL, PipelineStateDesc >
| DeviceObjectBase (IReferenceCounters *pRefCounters, IRenderDevice *pDevice, const PipelineStateDesc &ObjDesc, bool bIsDeviceInternal=false)
virtual const PipelineStateDesc & | GetDesc () const override final
UniqueIdentifier | GetUniqueID () const
| Returns unique identifier. More...
Public Member Functions inherited from Diligent::IPipelineState
virtual void | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
| Queries the specific interface, see IObject::QueryInterface() for details.

## Additional Inherited Members
Protected Attributes inherited from Diligent::PipelineStateBase< IPipelineStateGL, IGLDeviceBaseInterface >
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< IPipelineStateGL, PipelineStateDesc >
const String | m_ObjectNameCopy
| Copy of a device object name. More...
PipelineStateDesc | m_Desc
| Object description.

## Detailed Description

Implementation of the Diligent::IPipelineStateGL interface.

## Member Function Documentation

## ◆ BindShaderResources()

void Diligent::PipelineStateGLImpl::BindShaderResources | ( | IResourceMapping * | pResourceMapping,
|  | Uint32 | Flags
| ) |  |
| overridevirtual

Binds resources for all shaders in the pipeline state.

Parameters

  [in] | pResourceMapping | - Pointer to the resource mapping interface.
  [in] | Flags | - Additional flags. See Diligent::BIND_SHADER_RESOURCES_FLAGS.

Remarks
  For older OpenGL devices that do not support program pipelines (OpenGL4.1-, OpenGLES3.0-). This function is the only way to bind shader resources.

Implements Diligent::IPipelineState.

## ◆ CreateShaderResourceBinding()

void Diligent::PipelineStateGLImpl::CreateShaderResourceBinding | ( | IShaderResourceBinding ** | ppShaderResourceBinding | ) |
| overridevirtual

Creates a shader resource binding object.

Parameters

  [out] | ppShaderResourceBinding | - memory location where pointer to the new shader resource binding object is written.

Implements Diligent::IPipelineState.