11 #ifndef GR_VolumeGL3_h
12 #define GR_VolumeGL3_h
17 struct gr_VolumeAngleVector;
36 const char *
className()
const override {
return "GR_VolumeGL3"; }
55 myVolumeTexture = tex;
81 static void sliceCube(
void *
data,
int idx,
int num,
UT_Lock &lock);
85 int total_depth=1,
int d=0);
86 static void sortPolygonCCW(gr_VolumeAngleVector *
points,
int n);
91 int total_depth=-1,
int d=0);
108 bool myDrawMotionVectors;
111 static int theVolumePassID;
void viewUpdate(RE_Render *r, const GR_DisplayOption &opts, const char *cache_name, RE_CacheVersion geo_version, RE_CacheVersion select_version) override
void setDrawMotionVectors(bool v)
const char * className() const override
void draw(RE_Render *r, GR_RenderMode mode, GR_RenderFlags flags, GR_DrawParms dp) override
Normal drawing method. Only issue rendering commands.
GT_API const UT_StringHolder cache_name
void setDrawNormals(bool v)
set of parameters sent to GR_Primitive::update()
GR_VolumeGL3(GR_Primitive *prim)
void setTexture(const RE_TextureHolder &tex)
static bool useBSplineInterpolation(const GR_CommonDispOption &opt)
GLdouble GLdouble GLdouble z
static float getCutoff(int x, int y, int z)
GLuint GLdouble GLdouble GLint GLint const GLdouble * points
void assign(T xx=0.0f, T yy=0.0f, T zz=0.0f)
Set the values of the vector components.
static void cleanupSlices()
static RE_Texture * getBSplineWeights(RE_Render *r)
Simple class for a mutli-integer cache tag.
void update(RE_Render *r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const char *cache_name) override
exint getNumGLPrimitives() const override
void updateTexture(const RE_TextureHolder &tex)