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  ~GR_OSDSubdSurfaceGL4() override;
27 
28  const char *className() const override
29  { return "GR_OSDSubdSurfaceGL4"; }
30 
31  void update(RE_Render *r,
32  const GT_PrimitiveHandle &primh,
33  const GR_UpdateParms &p,
34  const char *cache_name) override;
35 
36  void draw(RE_Render *r,
39  GR_DrawParms dp) override;
40 
41 private:
42 #if defined(HOUDINI_USE_OSD)
43  void drawOSDDrawContext(RE_Render *r,
46  GR_DrawParms dp,
47  const GT_OSDDrawContext *dc);
48 
50  int64 myVertexAttributeDataIdHash;
51  float myTessLevel;
52 #endif
53 };
54 
55 #endif
56 
const char * className() const override
GT_API const UT_StringHolder cache_name
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition: UT_UniquePtr.h:33
set of parameters sent to GR_Primitive::update()
GR_RenderMode
Definition: GR_Defines.h:46
void draw(RE_Render *r, GR_RenderMode mode, GR_RenderFlags flags, GR_DrawParms dp) override
Normal drawing method. Only issue rendering commands.
#define GR_API
Definition: GR_API.h:10
long long int64
Definition: SYS_Types.h:116
GLfloat GLfloat p
Definition: glew.h:16656
GR_RenderFlags
Definition: GR_Defines.h:84
GLbitfield flags
Definition: glcorearb.h:1595
GLenum mode
Definition: glcorearb.h:98
void update(RE_Render *r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const char *cache_name) override
GLboolean r
Definition: glcorearb.h:1221
Class to perform subdivision refinement using OpenSubdivision.