![]() |
|
A shader that supports simple lighting functionality. More...
#include <simpleLightingShader.h>
Public Member Functions | |
HDST_API ID | ComputeHash () const override |
HdShader overrides. | |
HDST_API std::string | GetSource (TfToken const &shaderStageKey) const override |
Returns the shader source provided by this shader for shaderStageKey. | |
HDST_API void | BindResources (int program, HdSt_ResourceBinder const &binder) 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. | |
HDST_API void | UnbindResources (int program, HdSt_ResourceBinder const &binder) override |
Unbinds shader-specific resources. | |
HDST_API void | AddBufferBinding (HdStBindingRequest const &req) |
Add a custom binding request for use when this shader executes. | |
HDST_API void | RemoveBufferBinding (TfToken const &name) |
Remove name from custom binding. | |
HDST_API void | ClearBufferBindings () |
Clear all custom bindings associated with this shader. | |
HDST_API void | AddBindings (HdStBindingRequestVector *customBindings) override |
Add custom bindings (used by codegen) | |
HDST_API void | AddResourcesFromTextures (ResourceContext &ctx) const override |
Adds computations to create the dome light textures that are pre-calculated from the environment map texture. | |
HDST_API HdSt_MaterialParamVector const & | GetParams () const override |
HdStShaderCode overrides. | |
HDST_API void | SetCamera (GfMatrix4d const &worldToViewMatrix, GfMatrix4d const &projectionMatrix) override |
HdStLightingShader overrides. | |
GlfSimpleLightingContextRefPtr | GetLightingContext () const |
HDST_API void | AllocateTextureHandles (HdRenderIndex const &renderIndex) |
Allocates texture handles (texture loading happens later during commit) needed for lights. | |
const HdStTextureHandleSharedPtr & | GetDomeLightEnvironmentTextureHandle () const |
The dome light environment map used as source for the other dome light textures. | |
HDST_API NamedTextureHandleVector const & | GetNamedTextureHandles () const override |
The textures computed from the dome light environment map that the shader needs to bind for the dome light shading. | |
HDST_API const HdStTextureHandleSharedPtr & | GetTextureHandle (const TfToken &name) const |
Get one of the textures that need to be computed from the dome light environment map. | |
HdRenderPassAovBindingVector const & | GetShadowAovBindings () |
virtual void | SetCamera (GfMatrix4d const &worldToViewMatrix, GfMatrix4d const &projectionMatrix)=0 |
Sets camera state. | |
![]() | |
virtual ID | ComputeHash () const =0 |
Returns the hash value of the shader code and configuration. | |
virtual ID | ComputeTextureSourceHash () const |
Returns the hash value of the paths of the texture prims consumed by this shader. | |
virtual std::string | GetSource (TfToken const &shaderStageKey) const =0 |
Returns the shader source provided by this shader for shaderStageKey. | |
HDST_API VtDictionary | GetLayout (TfTokenVector const &shaderStageKeys) const |
Returns the resource layout for the shader stages specified by shaderStageKeys. | |
virtual HDST_API HdSt_MaterialParamVector const & | GetParams () const |
Returns the shader parameters for this shader. | |
virtual HDST_API bool | IsEnabledPrimvarFiltering () const |
Returns whether primvar filtering is enabled for this shader. | |
virtual HDST_API TfTokenVector const & | GetPrimvarNames () const |
Returns the names of primvar that are used by this shader. | |
virtual HDST_API HdBufferArrayRangeSharedPtr const & | GetShaderData () const |
Returns a buffer which stores parameter fallback values and texture handles. | |
virtual void | BindResources (int program, HdSt_ResourceBinder const &binder)=0 |
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. | |
virtual void | UnbindResources (int program, HdSt_ResourceBinder const &binder)=0 |
Unbinds shader-specific resources. | |
virtual void | AddBindings (HdStBindingRequestVector *customBindings)=0 |
Add custom bindings (used by codegen) | |
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. | |
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. | |
Additional Inherited Members | |
![]() | |
typedef size_t | ID |
using | NamedTextureHandleVector = std::vector< NamedTextureHandle > |
![]() | |
static HDST_API ID | ComputeHash (HdStShaderCodeSharedPtrVector const &shaders) |
Returns the combined hash values of multiple shaders. | |
A shader that supports simple lighting functionality.
Definition at line 57 of file simpleLightingShader.h.
|
overridevirtual |
Add custom bindings (used by codegen)
Implements HdStShaderCode.
HDST_API void AddBufferBinding | ( | HdStBindingRequest const & | req | ) |
Add a custom binding request for use when this shader executes.
|
overridevirtual |
Adds computations to create the dome light textures that are pre-calculated from the environment map texture.
Reimplemented from HdStShaderCode.
HDST_API void AllocateTextureHandles | ( | HdRenderIndex const & | renderIndex | ) |
Allocates texture handles (texture loading happens later during commit) needed for lights.
Call after lighting context has been set or updated in Sync-phase.
|
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.
|
inline |
The dome light environment map used as source for the other dome light textures.
Definition at line 122 of file simpleLightingShader.h.
|
inline |
Definition at line 107 of file simpleLightingShader.h.
|
overridevirtual |
The textures computed from the dome light environment map that the shader needs to bind for the dome light shading.
Reimplemented from HdStShaderCode.
|
overridevirtual |
HdStShaderCode overrides.
Reimplemented from HdStShaderCode.
|
inline |
Definition at line 137 of file simpleLightingShader.h.
|
overridevirtual |
Returns the shader source provided by this shader for shaderStageKey.
Implements HdStShaderCode.
HDST_API const HdStTextureHandleSharedPtr & GetTextureHandle | ( | const TfToken & | name | ) | const |
Get one of the textures that need to be computed from the dome light environment map.
HDST_API void RemoveBufferBinding | ( | TfToken const & | name | ) |
Remove name
from custom binding.
|
overridevirtual |
HdStLightingShader overrides.
Implements HdStLightingShader.
|
overridevirtual |
Unbinds shader-specific resources.
Implements HdStShaderCode.