HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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 protected:
40  virtual bool getMayCacheConvexedPrimitive() const
41  { return false; }
42 
43 private:
45  GT_PrimitiveHandle mySurface;
46  int64 myVertexAttributeDataIdHash;
47  bool myReducedLOD;
48  int mySubdLevel;
49 };
50 
51 #endif
52 
set of parameters sent to GR_Primitive::update()
long long int64
Definition: SYS_Types.h:100
int getSubdivisionLevel() const
#define GR_API
Definition: GR_API.h:10
virtual bool getMayCacheConvexedPrimitive() const
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.