All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HdStRenderPassShader Class Reference

A shader that supports common renderPass functionality. More...

+ Inheritance diagram for HdStRenderPassShader:

Public Member Functions

HDST_API HdStRenderPassShader (TfToken const &glslfxFile)
 
HDST_API ID ComputeHash () const override
 HdShader overrides. More...
 
HDST_API std::string GetSource (TfToken const &shaderStageKey) const override
 Returns the shader source provided by this shader for shaderStageKey. More...
 
HDST_API void BindResources (int program, HdSt_ResourceBinder const &binder, HdRenderPassState const &state) override
 Binds shader-specific resources to program XXX: this interface is meant to be used for bridging the GlfSimpleLightingContext mechanism, and not for generic use-cases. More...
 
HDST_API void UnbindResources (int program, HdSt_ResourceBinder const &binder, HdRenderPassState const &state) override
 Unbinds shader-specific resources. More...
 
HDST_API void AddBindings (HdBindingRequestVector *customBindings) override
 Add custom bindings (used by codegen) More...
 
HDST_API
HdSt_MaterialParamVector const & 
GetParams () const override
 Returns the shader parameters for this shader. More...
 
HDST_API
NamedTextureHandleVector const & 
GetNamedTextureHandles () const override
 Textures that need to be bound for this shader. More...
 
HDST_API void AddBufferBinding (HdBindingRequest const &req)
 Add a custom binding request for use when this shader executes. More...
 
HDST_API void RemoveBufferBinding (TfToken const &name)
 Remove name from custom binding. More...
 
HDST_API void ClearBufferBindings ()
 Clear all custom bindings associated with this shader. More...
 
HdCullStyle GetCullStyle () const
 
void SetCullStyle (HdCullStyle cullStyle)
 
HDST_API void UpdateAovInputTextures (HdRenderPassAovBindingVector const &aovInputBindings, HdRenderIndex *const renderIndex)
 
- Public Member Functions inherited from HdStShaderCode
virtual ID ComputeTextureSourceHash () const
 Returns the hash value of the paths of the texture prims consumed by this shader. More...
 
virtual HDST_API bool IsEnabledPrimvarFiltering () const
 Returns whether primvar filtering is enabled for this shader. More...
 
virtual HDST_API TfTokenVector
const & 
GetPrimvarNames () const
 Returns the names of primvar that are used by this shader. More...
 
virtual HDST_API
HdBufferArrayRangeSharedPtr
const & 
GetShaderData () const
 Returns a buffer which stores parameter fallback values and texture handles. More...
 
virtual HDST_API TfToken GetMaterialTag () const
 Material tags can be set in the meta-data of a glslfx file to control what rprim collection that prims using this shader should go into. More...
 
virtual HDST_API void AddResourcesFromTextures (ResourceContext &ctx) const
 This function is called after textures have been allocated and loaded to add buffer sources and computations to the resource registry that require texture meta data not available until the texture is allocated or loaded. More...
 

Additional Inherited Members

- Public Types inherited from HdStShaderCode
typedef size_t ID
 
using NamedTextureHandleVector = std::vector< NamedTextureHandle >
 
- Static Public Member Functions inherited from HdStShaderCode
static HDST_API ID ComputeHash (HdStShaderCodeSharedPtrVector const &shaders)
 Returns the combined hash values of multiple shaders. More...
 

Detailed Description

A shader that supports common renderPass functionality.

Definition at line 51 of file renderPassShader.h.

Member Function Documentation

HDST_API void AddBindings ( HdBindingRequestVector *  customBindings)
overridevirtual

Add custom bindings (used by codegen)

Implements HdStShaderCode.

HDST_API void AddBufferBinding ( HdBindingRequest const &  req)

Add a custom binding request for use when this shader executes.

HDST_API void BindResources ( int  program,
HdSt_ResourceBinder const &  binder,
HdRenderPassState const &  state 
)
overridevirtual

Binds shader-specific resources to program XXX: this interface is meant to be used for bridging the GlfSimpleLightingContext mechanism, and not for generic use-cases.

Implements HdStShaderCode.

HDST_API void ClearBufferBindings ( )

Clear all custom bindings associated with this shader.

HDST_API ID ComputeHash ( ) const
overridevirtual

HdShader overrides.

Implements HdStShaderCode.

HDST_API NamedTextureHandleVector const& GetNamedTextureHandles ( ) const
overridevirtual

Textures that need to be bound for this shader.

Reimplemented from HdStShaderCode.

HDST_API HdSt_MaterialParamVector const& GetParams ( ) const
overridevirtual

Returns the shader parameters for this shader.

Reimplemented from HdStShaderCode.

HDST_API std::string GetSource ( TfToken const &  shaderStageKey) const
overridevirtual

Returns the shader source provided by this shader for shaderStageKey.

Implements HdStShaderCode.

HDST_API void RemoveBufferBinding ( TfToken const &  name)

Remove name from custom binding.

HDST_API void UnbindResources ( int  program,
HdSt_ResourceBinder const &  binder,
HdRenderPassState const &  state 
)
overridevirtual

Unbinds shader-specific resources.

Implements HdStShaderCode.


The documentation for this class was generated from the following file: