11 #ifndef GR_PolyCurveGL3_h
12 #define GR_PolyCurveGL3_h
25 #define GR_BASIC_WIRE_IDX 1
33 void setSubdivisionCurve(
bool subdiv);
35 const char *
className()
const override {
return "GR_PolyCurveGL3"; }
55 bool uwrap,
bool vwrap,
82 const int curve_vertex_cutoff,
85 inline int getNumMaterials()
const
86 {
return myMaterials.entries(); }
102 bool support_outline=
false)
const override;
108 bool &init)
override;
126 exint myPointCount = 0;
137 bool myHasDetailAlpha;
138 bool myHasPrimAttribs;
139 bool myHasWidthAttrib;
140 bool myHasNormalAttrib;
141 bool myHasTangentAttrib;
143 bool myHasBarbAttribs;
144 bool myHasBarbOrientAttrib;
145 bool myObjectSelectedFlag;
147 BarbConfig myBarbConfig;
150 bool myUseFurShaders;
152 bool myUseSparkShaders;
155 int myRandomMaskTexSamples;
162 const void *mySpline;
164 bool myWrapU, myWrapV;
168 bool myIsSubdivisionCurve;
170 int myHairShadowPassID;
virtual void draw(RE_RenderContext r, GR_RenderMode mode, GR_RenderFlags flags, GR_DrawParms draw_parms)=0
Normal drawing method. Only issue rendering commands.
A collection of vertex arrays defining a geometry object. This class acts as a wrapper around multipl...
GT_API const UT_StringHolder cache_name
void setSplineParms(const void *spline, int nu, int nv, bool uwrap, bool vwrap, int density)
bool supportsInstances() const override
By default, no instanced drawing support.
IMATH_HOSTDEVICE IMATH_CONSTEXPR14 Quat< T > spline(const Quat< T > &q0, const Quat< T > &q1, const Quat< T > &q2, const Quat< T > &q3, T t) IMATH_NOEXCEPT
Temporary container for either a RV_Render and an RE_Render.
virtual exint getNumGLPrimitives() const =0
set of parameters sent to GR_Primitive::update()
virtual int setupSelection(RE_Render *r, const GR_DisplayOption *opt, GR_RenderFlags flags, bool supports_outline=false) const
vint4 select(const vbool4 &mask, const vint4 &a, const vint4 &b)
virtual void geometryUpdated(RE_RenderContext)
GT_API const UT_StringHolder version
virtual GR_SelectMode addToBreakpointSelection(RE_Render *r, RE_VertexArray *select, int bpnt_len, const GA_BreakpointGroup *bps, bool &init)
const char * className() const override
Simple class for a mutli-integer cache tag.
virtual void update(RE_RenderContext r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const char *cache_name)=0