HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups 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 private:
41 #if defined(HOUDINI_USE_OSD)
42  void drawOSDDrawContext(RE_Render *r,
45  GR_DrawParms dp,
46  const GT_OSDDrawContext *dc);
47 
49  int64 myVertexAttributeDataIdHash;
50  float myTessLevel;
51 #endif
52 };
53 
54 #endif
55 
GT_API const UT_StringHolder cache_name
GLbitfield flags
Definition: glcorearb.h:1595
set of parameters sent to GR_Primitive::update()
long long int64
Definition: SYS_Types.h:107
GR_RenderMode
Definition: GR_Defines.h:44
#define GR_API
Definition: GR_API.h:10
GR_RenderFlags
Definition: GR_Defines.h:79
GLenum mode
Definition: glcorearb.h:98
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.