Exposes OpenGL-specific functionality of a pipeline state object. More...
#include <PipelineStateGL.h>
Public Member Functions | |
virtual GLuint DILIGENT_CALL_TYPE | GetGLProgramHandle (SHADER_TYPE Stage) const =0 |
![]() | |
virtual const PipelineStateDesc &DILIGENT_CALL_TYPE | GetDesc () const override=0 |
Returns the pipeline description used to create the object. | |
virtual const GraphicsPipelineDesc &DILIGENT_CALL_TYPE | GetGraphicsPipelineDesc () const =0 |
Returns the graphics pipeline description used to create the object. | |
virtual const RayTracingPipelineDesc &DILIGENT_CALL_TYPE | GetRayTracingPipelineDesc () const =0 |
Returns the ray tracing pipeline description used to create the object. | |
virtual const TilePipelineDesc &DILIGENT_CALL_TYPE | GetTilePipelineDesc () const =0 |
Returns the tile pipeline description used to create the object. | |
virtual void DILIGENT_CALL_TYPE | BindStaticResources (SHADER_TYPE ShaderStages, IResourceMapping *pResourceMapping, BIND_SHADER_RESOURCES_FLAGS Flags)=0 |
Binds resources for all shaders in the pipeline state. | |
virtual Uint32 DILIGENT_CALL_TYPE | GetStaticVariableCount (SHADER_TYPE ShaderType) const =0 |
Returns the number of static shader resource variables. | |
virtual IShaderResourceVariable *DILIGENT_CALL_TYPE | GetStaticVariableByName (SHADER_TYPE ShaderType, const Char *Name)=0 |
Returns static shader resource variable. | |
virtual IShaderResourceVariable *DILIGENT_CALL_TYPE | GetStaticVariableByIndex (SHADER_TYPE ShaderType, Uint32 Index)=0 |
Returns static shader resource variable by its index. | |
virtual void DILIGENT_CALL_TYPE | CreateShaderResourceBinding (IShaderResourceBinding **ppShaderResourceBinding, Bool InitStaticResources=false)=0 |
Creates a shader resource binding object. | |
virtual void DILIGENT_CALL_TYPE | InitializeStaticSRBResources (struct IShaderResourceBinding *pShaderResourceBinding) const =0 |
Initializes static resources in the shader binding object. | |
virtual void DILIGENT_CALL_TYPE | CopyStaticResources (IPipelineState *pDstPipeline) const =0 |
Copies static resource bindings to the destination pipeline. | |
virtual bool DILIGENT_CALL_TYPE | IsCompatibleWith (const struct IPipelineState *pPSO) const =0 |
Checks if this pipeline state object is compatible with another PSO. | |
virtual Uint32 DILIGENT_CALL_TYPE | GetResourceSignatureCount () const =0 |
Returns the number of pipeline resource signatures used by this pipeline. | |
virtual IPipelineResourceSignature *DILIGENT_CALL_TYPE | GetResourceSignature (Uint32 Index) const =0 |
Returns pipeline resource signature at the give index. | |
virtual PIPELINE_STATE_STATUS DILIGENT_CALL_TYPE | GetStatus (bool WaitForCompletion=false)=0 |
Returns the pipeline state status, see Diligent::PIPELINE_STATE_STATUS. | |
![]() | |
virtual Int32 DILIGENT_CALL_TYPE | GetUniqueID () const =0 |
Returns unique identifier assigned to an object. | |
virtual void DILIGENT_CALL_TYPE | SetUserData (IObject *pUserData)=0 |
Stores a pointer to the user-provided data object. | |
virtual IObject *DILIGENT_CALL_TYPE | GetUserData () const =0 |
Returns a pointer to the user data object previously set with SetUserData() method. | |
![]() | |
virtual void DILIGENT_CALL_TYPE | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0 |
Queries the specific interface. | |
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | AddRef ()=0 |
Increments the number of strong references by 1. | |
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | Release ()=0 |
virtual IReferenceCounters *DILIGENT_CALL_TYPE | GetReferenceCounters () const =0 |
Exposes OpenGL-specific functionality of a pipeline state object.
|
pure virtual |
Returns OpenGL program handle for the specified shader stage.
[in] | Stage | - Shader stage. |
If device supports separable programs, the function returns the handle of the program for the specified shader stage. Otherwise, the function returns the handle of the program that contains all shaders, if Stage is one of the active shader stages, or zero otherwise.