HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GR_OSDSubdSurfaceGL3.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GR_OSDSubdSurfaceGL3.h ( GR Library, C++)
7  *
8  * COMMENTS:
9  * Class for rendering OSD subdivision surface using GL3.
10  */
11 #ifndef GR_OSDSubdSurfaceGL3_h
12 #define GR_OSDSubdSurfaceGL3_h
13 
14 #include "GR_Defines.h"
15 #include "GR_PolySurfaceGL3.h"
16 
17 #include <UT/UT_UniquePtr.h>
18 
19 class GT_UtilOpenSubdiv;
20 
22 {
23 public:
25  virtual ~GR_OSDSubdSurfaceGL3();
26 
27  virtual const char *className() const { return "GR_OSDSubdSurfaceGL3"; }
28 
29  virtual void update(RE_Render *r,
30  const GT_PrimitiveHandle &primh,
31  const GR_UpdateParms &p,
32  const char *cache_name);
33 
34  bool isReducedLOD() const { return myReducedLOD; }
35  int getSubdivisionLevel() const { return mySubdLevel; }
36 
37  void resetSubdivision();
38 
39 private:
41  GT_PrimitiveHandle mySurface;
42  int64 myVertexAttributeDataIdHash;
43  bool myReducedLOD;
44  int mySubdLevel;
45 };
46 
47 #endif
48 
GT_API const UT_StringHolder cache_name
set of parameters sent to GR_Primitive::update()
long long int64
Definition: SYS_Types.h:107
int getSubdivisionLevel() const
#define GR_API
Definition: GR_API.h:10
virtual const char * className() const
GLboolean r
Definition: glcorearb.h:1221
virtual void update(RE_Render *r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const char *cache_name)
Class to perform subdivision refinement using OpenSubdivision.