7 #ifndef PXR_IMAGING_HD_ST_RENDER_PASS_SHADER_H
8 #define PXR_IMAGING_HD_ST_RENDER_PASS_SHADER_H
25 std::shared_ptr<class HdStRenderPassShader>;
29 std::vector<struct HdRenderPassAovBinding>;
53 HdSt_ResourceBinder
const &binder)
override;
56 HdSt_ResourceBinder
const &binder)
override;
99 mutable bool _hashValid;
102 std::map<TfToken, HdStBindingRequest> _customBuffers;
110 HdStRenderPassShader &operator =(
const HdStRenderPassShader &) =
delete;
112 HioGlslfx const * _GetGlslfx()
const override;
118 #endif // PXR_IMAGING_HD_ST_RENDER_PASS_SHADER_H
HDST_API std::string GetSource(TfToken const &shaderStageKey) const override
HDST_API ~HdStRenderPassShader() override
HDST_API void AddBindings(HdStBindingRequestVector *customBindings) override
Add custom bindings (used by codegen)
std::vector< class HdStBindingRequest > HdStBindingRequestVector
HDST_API HdStRenderPassShader()
HDST_API void AddBufferBinding(HdStBindingRequest const &req)
Add a custom binding request for use when this shader executes.
HDST_API void UnbindResources(int program, HdSt_ResourceBinder const &binder) override
Unbinds shader-specific resources.
HDST_API void BindResources(int program, HdSt_ResourceBinder const &binder) override
static HDST_API HdStRenderPassShaderSharedPtr CreateRenderPassShaderFromAovs(HdStRenderPassState *renderPassState, HdStResourceRegistrySharedPtr const &resourceRegistry, HdRenderPassAovBindingVector const &aovBindings)
GLuint const GLchar * name
HDST_API NamedTextureHandleVector const & GetNamedTextureHandles() const override
std::shared_ptr< class HdStRenderPassShader > HdStRenderPassShaderSharedPtr
HDST_API void ClearBufferBindings()
Clear all custom bindings associated with this shader.
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
std::vector< NamedTextureHandle > NamedTextureHandleVector
std::shared_ptr< class HioGlslfx > HioGlslfxSharedPtr
#define PXR_NAMESPACE_CLOSE_SCOPE
HDST_API ID ComputeHash() const override
HdShader overrides.
HDST_API void RemoveBufferBinding(TfToken const &name)
Remove name from custom binding.
std::vector< HdRenderPassAovBinding > HdRenderPassAovBindingVector
std::shared_ptr< class HdStResourceRegistry > HdStResourceRegistrySharedPtr
HDST_API void UpdateAovInputTextures(HdRenderPassAovBindingVector const &aovInputBindings, HdRenderIndex *const renderIndex)
HDST_API HdSt_MaterialParamVector const & GetParams() const override
Returns the shader parameters for this shader.
GLbitfield GLuint program
std::vector< class HdSt_MaterialParam > HdSt_MaterialParamVector