HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
lightingShader.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the terms set forth in the LICENSE.txt file available at
5 // https://openusd.org/license.
6 //
7 #ifndef PXR_IMAGING_HD_ST_LIGHTING_SHADER_H
8 #define PXR_IMAGING_HD_ST_LIGHTING_SHADER_H
9 
10 #include "pxr/pxr.h"
11 #include "pxr/imaging/hdSt/api.h"
13 #include "pxr/base/gf/matrix4d.h"
14 
16 
17 using HdStLightingShaderSharedPtr = std::shared_ptr<class HdStLightingShader>;
18 
19 /// \class HdStLightingShader
20 ///
21 /// A lighting shader base class.
22 ///
24 public:
25  HDST_API
27  HDST_API
28  virtual ~HdStLightingShader();
29 
30  /// Sets camera state.
31  virtual void SetCamera(GfMatrix4d const &worldToViewMatrix,
32  GfMatrix4d const &projectionMatrix) = 0;
33 
34 private:
35 
36  // No copying
37  HdStLightingShader(const HdStLightingShader &) = delete;
38  HdStLightingShader &operator =(const HdStLightingShader &) = delete;
39 };
40 
41 
43 
44 #endif // PXR_IMAGING_HD_ST_LIGHTING_SHADER_H
std::shared_ptr< class HdStLightingShader > HdStLightingShaderSharedPtr
virtual void SetCamera(GfMatrix4d const &worldToViewMatrix, GfMatrix4d const &projectionMatrix)=0
Sets camera state.
virtual HDST_API ~HdStLightingShader()
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition: path.h:1425
HDST_API HdStLightingShader()
#define HDST_API
Definition: api.h:23
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition: pxr.h:74