![]() |
|
A shader that supports simple lighting functionality. More...
Public Member Functions | |
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) 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) override |
Unbinds shader-specific resources. More... | |
HDST_API void | AddBufferBinding (HdStBindingRequest 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... | |
HDST_API void | AddBindings (HdStBindingRequestVector *customBindings) override |
Add custom bindings (used by codegen) More... | |
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. More... | |
HDST_API HdSt_MaterialParamVector const & | GetParams () const override |
HdStShaderCode overrides. More... | |
HDST_API void | SetCamera (GfMatrix4d const &worldToViewMatrix, GfMatrix4d const &projectionMatrix) override |
HdStLightingShader overrides. More... | |
HDST_API void | SetLightingStateFromOpenGL () |
HDST_API void | SetLightingState (GlfSimpleLightingContextPtr const &lightingContext) |
GlfSimpleLightingContextRefPtr | GetLightingContext () const |
HDST_API void | AllocateTextureHandles (HdRenderIndex const &renderIndex) |
Allocates texture handles (texture loading happens later during commit) needed for lights. More... | |
const HdStTextureHandleSharedPtr & | GetDomeLightEnvironmentTextureHandle () const |
The dome light environment map used as source for the other dome light textures. More... | |
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. More... | |
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. More... | |
HdRenderPassAovBindingVector const & | GetShadowAovBindings () |
![]() | |
virtual ID | ComputeTextureSourceHash () const |
Returns the hash value of the paths of the texture prims consumed by this shader. More... | |
HDST_API VtDictionary | GetLayout (TfTokenVector const &shaderStageKeys) const |
Returns the resource layout for the shader stages specified by shaderStageKeys. 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... | |
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. More... | |
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 126 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.
|
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.