A shader that supports common renderPass functionality. More...
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... | |
A shader that supports common renderPass functionality.
Definition at line 51 of file renderPassShader.h.
|
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.
|
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.
|
overridevirtual |
HdShader overrides.
Implements HdStShaderCode.
|
overridevirtual |
Textures that need to be bound for this shader.
Reimplemented from HdStShaderCode.
|
overridevirtual |
Returns the shader parameters for this shader.
Reimplemented from HdStShaderCode.
|
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.
|
overridevirtual |
Unbinds shader-specific resources.
Implements HdStShaderCode.