24 #ifndef PXR_IMAGING_HDST_SIMPLE_LIGHTING_SHADER_H
25 #define PXR_IMAGING_HDST_SIMPLE_LIGHTING_SHADER_H
48 std::shared_ptr<class HdStSimpleLightingShader>;
72 HdSt_ResourceBinder
const &binder)
override;
75 HdSt_ResourceBinder
const &binder)
override;
108 return _lightingContext;
123 return _domeLightEnvironmentTextureHandle;
138 return _shadowAovBindings;
142 SdfPath _GetAovPath(
TfToken const &aov,
size_t shadowIndex)
const;
143 void _ResizeOrCreateBufferForAov(
size_t shadowIndex)
const;
144 void _CleanupAovBindings();
146 GlfSimpleLightingContextRefPtr _lightingContext;
148 std::unique_ptr<class HioGlslfx> _glslfx;
151 std::map<TfToken, HdStBindingRequest> _customBuffers;
170 std::vector<std::unique_ptr<HdStRenderBuffer>> _shadowAovBuffers;
176 #endif // PXR_IMAGING_HDST_SIMPLE_LIGHTING_SHADER_H
const HdStTextureHandleSharedPtr & GetDomeLightEnvironmentTextureHandle() const
GlfSimpleLightingContextRefPtr GetLightingContext() const
GLsizei const GLchar *const * string
HDST_API void UnbindResources(int program, HdSt_ResourceBinder const &binder) override
Unbinds shader-specific resources.
HDST_API void AllocateTextureHandles(HdRenderIndex const &renderIndex)
std::vector< class HdStBindingRequest > HdStBindingRequestVector
HDST_API void BindResources(int program, HdSt_ResourceBinder const &binder) override
HDST_API ID ComputeHash() const override
HdShader overrides.
HDST_API std::string GetSource(TfToken const &shaderStageKey) const override
HdRenderPassAovBindingVector const & GetShadowAovBindings()
HDST_API HdSt_MaterialParamVector const & GetParams() const override
HdStShaderCode overrides.
HDST_API NamedTextureHandleVector const & GetNamedTextureHandles() const override
GLuint const GLchar * name
std::shared_ptr< class HdStSimpleLightingShader > HdStSimpleLightingShaderSharedPtr
HDST_API void AddResourcesFromTextures(ResourceContext &ctx) const override
HDST_API void SetCamera(GfMatrix4d const &worldToViewMatrix, GfMatrix4d const &projectionMatrix) override
HdStLightingShader overrides.
HDST_API ~HdStSimpleLightingShader() override
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
std::vector< NamedTextureHandle > NamedTextureHandleVector
std::shared_ptr< class HdStTextureHandle > HdStTextureHandleSharedPtr
HDST_API void AddBufferBinding(HdStBindingRequest const &req)
Add a custom binding request for use when this shader executes.
#define PXR_NAMESPACE_CLOSE_SCOPE
HDST_API const HdStTextureHandleSharedPtr & GetTextureHandle(const TfToken &name) const
HDST_API void RemoveBufferBinding(TfToken const &name)
Remove name from custom binding.
TF_DECLARE_REF_PTRS(GlfBindingMap)
HDST_API void ClearBufferBindings()
Clear all custom bindings associated with this shader.
std::vector< HdRenderPassAovBinding > HdRenderPassAovBindingVector
GLbitfield GLuint program
HDST_API void AddBindings(HdStBindingRequestVector *customBindings) override
Add custom bindings (used by codegen)
std::vector< class HdSt_MaterialParam > HdSt_MaterialParamVector
HDST_API HdStSimpleLightingShader()