HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
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
22
class
GR_API
GR_OSDSubdSurfaceGL4
:
public
GR_PolySurfaceGL3
23
{
24
public
:
25
GR_OSDSubdSurfaceGL4
(
GR_Primitive
*prim);
26
~
GR_OSDSubdSurfaceGL4
()
override
;
27
28
const
char
*
className
()
const override
29
{
return
"GR_OSDSubdSurfaceGL4"
; }
30
31
void
update
(
RE_RenderContext
r
,
32
const
GT_PrimitiveHandle
&primh,
33
const
GR_UpdateParms
&p,
34
const
char
*
cache_name
)
override
;
35
36
void
draw
(
RE_RenderContext
r
,
37
GR_RenderMode
mode
,
38
GR_RenderFlags
flags
,
39
GR_DrawParms
dp)
override
;
40
41
private
:
42
#if defined(HOUDINI_USE_OSD)
43
void
drawOSDDrawContext(
RE_Render
*
r
,
44
GR_RenderMode
mode
,
45
GR_RenderFlags
flags
,
46
GR_DrawParms
dp,
47
const
GT_OSDDrawContext *dc);
48
49
UT_UniquePtr<GT_UtilOpenSubdiv>
myOsd;
50
int64
myVertexAttributeDataIdHash;
51
float
myTessLevel;
52
#endif
53
};
54
55
#endif
56
GR_OSDSubdSurfaceGL4::className
const char * className() const override
Definition:
GR_OSDSubdSurfaceGL4.h:28
flags
GLbitfield flags
Definition:
glcorearb.h:1596
GR_Defines.h
GT_Names::cache_name
GT_API const UT_StringHolder cache_name
RE_RenderContext
Temporary container for either a RV_Render and an RE_Render.
Definition:
RE_RenderContext.h:23
UT_UniquePtr
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
Definition:
UT_UniquePtr.h:39
GR_UpdateParms
set of parameters sent to GR_Primitive::update()
Definition:
GR_UpdateParms.h:37
GR_PolySurfaceGL3::draw
void draw(RE_RenderContext r, GR_RenderMode mode, GR_RenderFlags flags, GR_DrawParms dp) override
Normal drawing method. Only issue rendering commands.
GR_Primitive
Definition:
GR_Primitive.h:55
GR_RenderMode
GR_RenderMode
Definition:
GR_Defines.h:48
GR_DrawParms
Definition:
GR_DrawParms.h:19
RE_Render
Definition:
RE_Render.h:29
GR_API
#define GR_API
Definition:
GR_API.h:10
UT_IntrusivePtr< GT_Primitive >
int64
long long int64
Definition:
SYS_Types.h:116
GR_RenderFlags
GR_RenderFlags
Definition:
GR_Defines.h:86
mode
GLenum mode
Definition:
glcorearb.h:99
GR_OSDSubdSurfaceGL4
Definition:
GR_OSDSubdSurfaceGL4.h:22
UT_UniquePtr.h
r
GLboolean r
Definition:
glcorearb.h:1222
GR_PolySurface::update
void update(RE_RenderContext r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const char *cache_name) override
GR_PolySurfaceGL3
Definition:
GR_PolySurfaceGL3.h:24
GT_UtilOpenSubdiv
Class to perform subdivision refinement using OpenSubdivision.
Definition:
GT_UtilOpenSubdiv.h:102
GR_PolySurfaceGL3.h
GR
GR_OSDSubdSurfaceGL4.h
Generated on Sun Nov 10 2024 02:59:49 for HDK by
1.8.6