Diligent Engine API Reference
Public Member Functions | List of all members
Diligent::IPipelineState Class Referenceabstract
Inheritance diagram for Diligent::IPipelineState:
Diligent::IDeviceObject Diligent::IObject Diligent::IPipelineStateD3D11 Diligent::IPipelineStateD3D12 Diligent::IPipelineStateGL Diligent::RefCountedObject< IPipelineStateD3D11, FixedBlockMemoryAllocator > Diligent::RefCountedObject< IPipelineStateD3D12, FixedBlockMemoryAllocator > Diligent::RefCountedObject< IPipelineStateGL, FixedBlockMemoryAllocator > Diligent::ObjectBase< IPipelineStateD3D11, FixedBlockMemoryAllocator > Diligent::ObjectBase< IPipelineStateD3D12, FixedBlockMemoryAllocator > Diligent::ObjectBase< IPipelineStateGL, FixedBlockMemoryAllocator > Diligent::DeviceObjectBase< IPipelineStateD3D11, PipelineStateDesc, FixedBlockMemoryAllocator > Diligent::DeviceObjectBase< IPipelineStateD3D12, PipelineStateDesc, FixedBlockMemoryAllocator > Diligent::DeviceObjectBase< IPipelineStateGL, PipelineStateDesc, FixedBlockMemoryAllocator > Diligent::PipelineStateBase< IPipelineStateD3D11, IRenderDeviceD3D11, FixedBlockMemoryAllocator > Diligent::PipelineStateBase< IPipelineStateD3D12, IRenderDeviceD3D12, FixedBlockMemoryAllocator > Diligent::PipelineStateBase< IPipelineStateGL, IGLDeviceBaseInterface, FixedBlockMemoryAllocator > Diligent::PipelineStateD3D11Impl Diligent::PipelineStateD3D12Impl Diligent::PipelineStateGLImpl

Public Member Functions

virtual void QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface, see IObject::QueryInterface() for details.
 
virtual const PipelineStateDescGetDesc () 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...
 
- Public Member Functions inherited from Diligent::IObject
virtual Atomics::Long AddRef ()=0
 Increments the number of strong references by 1. More...
 
virtual Atomics::Long Release ()=0
 Decrements the number of strong references by 1 and destroys the object when the counter reaches zero. More...
 
virtual IReferenceCountersGetReferenceCounters () const =0
 Returns the pointer to IReferenceCounters interface of the associated reference counters object. The metod does NOT increment the number of strong references to the returned object.
 

Detailed Description

Pipeline state interface

Member Function Documentation

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.

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.