24 #ifndef PXR_IMAGING_GLF_SIMPLE_LIGHTING_CONTEXT_H
25 #define PXR_IMAGING_GLF_SIMPLE_LIGHTING_CONTEXT_H
58 static GlfSimpleLightingContextRefPtr
New();
76 void SetShadows(GlfSimpleShadowArrayRefPtr
const & shadows);
78 GlfSimpleShadowArrayRefPtr
const &
GetShadows()
const;
151 GlfSimpleShadowArrayRefPtr _shadows;
161 bool _useColorMaterialDiffuse;
163 GlfUniformBlockRefPtr _lightingUniformBlock;
164 GlfUniformBlockRefPtr _shadowUniformBlock;
165 GlfUniformBlockRefPtr _materialUniformBlock;
166 GlfUniformBlockRefPtr _bindlessShadowlUniformBlock;
168 class _PostSurfaceShaderState;
169 std::unique_ptr<_PostSurfaceShaderState> _postSurfaceShaderState;
171 bool _lightingUniformBlockValid;
172 bool _shadowUniformBlockValid;
173 bool _materialUniformBlockValid;
174 bool _postSurfaceShaderStateValid;
GLF_API bool GetUseColorMaterialDiffuse() const
GLF_API std::string const & ComputeShaderSource(TfToken const &shaderStageKey)
GLF_API void SetStateFromOpenGL()
GLF_API void BindSamplers(GlfBindingMapPtr const &bindingMap)
GLF_API void InitUniformBlockBindings(GlfBindingMapPtr const &bindingMap) const
GLF_API void SetLights(GlfSimpleLightVector const &lights)
GLsizei const GLchar *const * string
GLF_API void SetMaterial(GlfSimpleMaterial const &material)
GLF_API void SetSceneAmbient(GfVec4f const &sceneAmbient)
GLF_API GfVec4f const & GetSceneAmbient() const
GLF_API int ComputeNumShadowsUsed() const
PXR_NAMESPACE_OPEN_SCOPE TF_DECLARE_WEAK_AND_REF_PTRS(GlfBindingMap)
GLF_API GlfSimpleLightingContext()
GLF_API size_t ComputeShaderSourceHash()
GlfSimpleLightingContext This
void _BindPostSurfaceShaderParams(GlfBindingMapPtr const &bindingMap)
GLF_API GlfSimpleLightVector const & GetLights() const
GLF_API GlfSimpleShadowArrayRefPtr const & GetShadows() const
GLF_API GlfSimpleMaterial const & GetMaterial() const
GLF_API void InitSamplerUnitBindings(GlfBindingMapPtr const &bindingMap) const
GLF_API bool GetUseLighting() const
GLF_API int GetNumLightsUsed() const
GLF_API void SetUseLighting(bool val)
GLF_API bool GetUseShadows() const
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
GLF_API void UnbindSamplers(GlfBindingMapPtr const &bindingMap)
GLF_API ~GlfSimpleLightingContext()
GLF_API void BindUniformBlocks(GlfBindingMapPtr const &bindingMap)
#define PXR_NAMESPACE_CLOSE_SCOPE
static GLF_API GlfSimpleLightingContextRefPtr New()
void _ComputePostSurfaceShaderState()
GLF_API void SetShadows(GlfSimpleShadowArrayRefPtr const &shadows)
GLF_API void SetUseColorMaterialDiffuse(bool val)
GLF_API void SetCamera(GfMatrix4d const &worldToViewMatrix, GfMatrix4d const &projectionMatrix)
std::vector< class GlfSimpleLight > GlfSimpleLightVector