37 #include "UT/UT_Version.h"
38 #if UT_MAJOR_VERSION_INT > 12 || UT_MINOR_VERSION_INT >= 5
40 #ifndef IECOREHOUDINI_GRCORTEXPRIMITIVE_H
41 #define IECOREHOUDINI_GRCORTEXPRIMITIVE_H
43 #include "GR/GR_Primitive.h"
45 #include "IECore/Renderable.h"
52 IE_CORE_FORWARDDECLARE( Scene );
53 IE_CORE_FORWARDDECLARE( State );
61 class GR_CortexPrimitive :
public GR_Primitive
65 GR_CortexPrimitive(
const GR_RenderInfo *info,
const char *cache_name,
const GEO_Primitive *prim );
66 virtual ~GR_CortexPrimitive();
68 virtual const char *className()
const
70 return "GR_CortexPrimitive";
73 virtual GR_PrimAcceptResult acceptPrimitive( GT_PrimitiveType t,
int geo_type,
const GT_PrimitiveHandle &ph,
const GEO_Primitive *prim );
74 virtual void resetPrimitives();
78 virtual void update( RE_Render *r,
const GT_PrimitiveHandle &primh,
const GR_UpdateParms &p );
80 #if UT_MAJOR_VERSION_INT >= 16
82 virtual void render( RE_Render *r, GR_RenderMode render_mode, GR_RenderFlags flags, GR_DrawParms parms);
86 virtual void render( RE_Render *r, GR_RenderMode render_mode, GR_RenderFlags flags,
const GR_DisplayOption *opt,
const UT_Array<RE_MaterialPtr> *materials );
90 virtual void renderInstances( RE_Render *r, GR_RenderMode render_mode, GR_RenderFlags flags,
const GR_DisplayOption *opt,
const UT_Array<RE_MaterialPtr> *materials,
int render_instance );
91 virtual int renderPick( RE_Render *r,
const GR_DisplayOption *opt,
unsigned int pick_type, GR_PickStyle pick_style,
bool has_pick_map );
96 IECoreGL::ScenePtr m_scene;
99 IECoreGL::State *getState( GR_RenderMode mode, GR_RenderFlags flags,
const GR_DisplayOption *opt );
101 const std::string &pickFragmentSource();
103 static IECoreGL::StatePtr g_lit;
104 static IECoreGL::StatePtr g_shaded;
105 static IECoreGL::StatePtr g_wire;
106 static IECoreGL::StatePtr g_wireLit;
107 static IECoreGL::StatePtr g_wireShaded;
108 static IECoreGL::StatePtr g_wireConstGhost;
109 static IECoreGL::StatePtr g_wireConstBG;
110 static IECoreGL::StatePtr g_pick;
111 static IECoreGL::StatePtr g_selected;
112 static IECoreGL::StatePtr g_wireSelected;
113 static IECoreGL::StatePtr g_wireConstBGSelected;
114 static IECoreGL::StatePtr g_wireConstGhostSelected;
120 #endif // IECOREHOUDINI_GRCORTEXPRIMITIVE_H
122 #endif // 12.5 or later
The namespace within which all CoreGL functionality is defined.
Definition: AlphaTexture.h:41
The IECoreHoudini namespace holds all the functionality of libIECoreHoudini.
Definition: CoreHoudini.h:51
Definition: Renderable.h:48