HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GR_OSDSubdSurfaceGL4.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_OSDSubdSurfaceGL4.h ( GR Library, C++)
7  *
8  * COMMENTS:
9  * Class for rendering OSD subdivision surface using GL4.
10  */
11 #ifndef GR_OSDSubdSurfaceGL4_h
12 #define GR_OSDSubdSurfaceGL4_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 class GT_OSDDrawContext;
21 
23 {
24 public:
26  virtual ~GR_OSDSubdSurfaceGL4();
27 
28  virtual const char *className() const { return "GR_OSDSubdSurfaceGL4"; }
29 
30  virtual void update(RE_Render *r,
31  const GT_PrimitiveHandle &primh,
32  const GR_UpdateParms &p,
33  const char *cache_name);
34 
35  virtual void draw(RE_Render *r,
38  GR_DrawParms dp);
39 
40 protected:
41  virtual bool getMayCacheConvexedPrimitive() const
42  { return false; }
43 
44 private:
45 #if defined(HOUDINI_USE_OSD)
46  void drawOSDDrawContext(RE_Render *r,
49  GR_DrawParms dp,
50  const GT_OSDDrawContext *dc);
51 
53  int64 myVertexAttributeDataIdHash;
54  float myTessLevel;
55 #endif
56 };
57 
58 #endif
59 
GLbitfield flags
Definition: glcorearb.h:1595
set of parameters sent to GR_Primitive::update()
long long int64
Definition: SYS_Types.h:106
GR_RenderMode
Definition: GR_Defines.h:42
#define GR_API
Definition: GR_API.h:10
GR_RenderFlags
Definition: GR_Defines.h:77
GLenum mode
Definition: glcorearb.h:98
virtual bool getMayCacheConvexedPrimitive() const
virtual const char * className() const
virtual void draw(RE_Render *r, GR_RenderMode mode, GR_RenderFlags flags, GR_DrawParms dp)
Normal drawing method. Only issue rendering commands.
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.