HDK
|
#include <simpleLightingShader.h>
Public Member Functions | |
HDST_API | HdStSimpleLightingShader () |
HDST_API | ~HdStSimpleLightingShader () override |
HDST_API ID | ComputeHash () const override |
HdShader overrides. More... | |
HDST_API std::string | GetSource (TfToken const &shaderStageKey) const override |
HDST_API void | BindResources (int program, HdSt_ResourceBinder const &binder) override |
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 |
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... | |
GlfSimpleLightingContextRefPtr | GetLightingContext () const |
HDST_API void | AllocateTextureHandles (HdRenderIndex const &renderIndex) |
const HdStTextureHandleSharedPtr & | GetDomeLightEnvironmentTextureHandle () const |
HDST_API NamedTextureHandleVector const & | GetNamedTextureHandles () const override |
HDST_API const HdStTextureHandleSharedPtr & | GetTextureHandle (const TfToken &name) const |
HdRenderPassAovBindingVector const & | GetShadowAovBindings () |
![]() | |
HDST_API | HdStLightingShader () |
virtual HDST_API | ~HdStLightingShader () |
![]() | |
HDST_API | HdStShaderCode () |
virtual HDST_API | ~HdStShaderCode () |
virtual HDST_API ID | ComputeTextureSourceHash () const |
HDST_API VtDictionary | GetLayout (TfTokenVector const &shaderStageKeys) const |
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 |
virtual HDST_API TfToken | GetMaterialTag () const |
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 40 of file simpleLightingShader.h.
HDST_API HdStSimpleLightingShader::HdStSimpleLightingShader | ( | ) |
|
override |
|
overridevirtual |
Add custom bindings (used by codegen)
Implements HdStShaderCode.
HDST_API void HdStSimpleLightingShader::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 HdStSimpleLightingShader::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.
Clear all custom bindings associated with this shader.
HdShader overrides.
Implements HdStShaderCode.
|
inline |
The dome light environment map used as source for the other dome light textures.
Definition at line 105 of file simpleLightingShader.h.
|
inline |
Definition at line 90 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 120 of file simpleLightingShader.h.
|
overridevirtual |
Returns the shader source provided by this shader for shaderStageKey
Implements HdStShaderCode.
HDST_API const HdStTextureHandleSharedPtr& HdStSimpleLightingShader::GetTextureHandle | ( | const TfToken & | name | ) | const |
Get one of the textures that need to be computed from the dome light environment map.
Remove name
from custom binding.
|
overridevirtual |
HdStLightingShader overrides.
Implements HdStLightingShader.
|
overridevirtual |
Unbinds shader-specific resources.
Implements HdStShaderCode.