Diligent Engine API Reference: Diligent::IPipelineState Class Reference

Diligent Engine API Reference

Public Member Functions | List of all members
Diligent::IPipelineState Class Referenceabstract
Inheritance diagram for Diligent::IPipelineState:

## Public Member Functions
virtual void | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
| Queries the specific interface, see IObject::QueryInterface() for details.
virtual const PipelineStateDesc & | GetDesc () const =0
| Returns the blend state description used to create the object.
virtual void | BindShaderResources (IResourceMapping *pResourceMapping, Uint32 Flags)=0
| Binds resources for all shaders in the pipeline state. More...
virtual void | CreateShaderResourceBinding (IShaderResourceBinding **ppShaderResourceBinding)=0
| Creates a shader resource binding object. More...

## Detailed Description

Pipeline state interface

## Member Function Documentation

## ◆ BindShaderResources()

virtual void Diligent::IPipelineState::BindShaderResources | ( | IResourceMapping * | pResourceMapping,
|  | Uint32 | Flags
| ) |  |
| pure virtual

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.

Implemented in Diligent::PipelineStateD3D11Impl, Diligent::PipelineStateD3D12Impl, and Diligent::PipelineStateGLImpl.

## ◆ CreateShaderResourceBinding()

virtual void Diligent::IPipelineState::CreateShaderResourceBinding | ( | IShaderResourceBinding ** | ppShaderResourceBinding | ) |
| pure virtual

Creates a shader resource binding object.

Parameters

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

Implemented in Diligent::PipelineStateD3D11Impl, Diligent::PipelineStateD3D12Impl, and Diligent::PipelineStateGLImpl.