7 #ifndef PXR_IMAGING_GLF_SIMPLE_LIGHTING_CONTEXT_H
8 #define PXR_IMAGING_GLF_SIMPLE_LIGHTING_CONTEXT_H
41 static GlfSimpleLightingContextRefPtr
New();
59 void SetShadows(GlfSimpleShadowArrayRefPtr
const & shadows);
61 GlfSimpleShadowArrayRefPtr
const &
GetShadows()
const;
134 GlfSimpleShadowArrayRefPtr _shadows;
144 bool _useColorMaterialDiffuse;
146 GlfUniformBlockRefPtr _lightingUniformBlock;
147 GlfUniformBlockRefPtr _shadowUniformBlock;
148 GlfUniformBlockRefPtr _materialUniformBlock;
149 GlfUniformBlockRefPtr _bindlessShadowlUniformBlock;
151 class _PostSurfaceShaderState;
152 std::unique_ptr<_PostSurfaceShaderState> _postSurfaceShaderState;
154 bool _lightingUniformBlockValid;
155 bool _shadowUniformBlockValid;
156 bool _materialUniformBlockValid;
157 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)
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