27 struct gr_VolumeAngleVector;
44 const char *
className()
const override {
return "GR_VolumeVK"; }
79 {
return myDrawMotionVectors; }
88 {
return myInstanceTransforms; }
90 static void cleanupSlices();
94 static void cleanupResources();
96 static float getCutoff(
int x,
int y,
int z);
135 bool use_transparent,
138 static void sliceCube(
void *
data,
int idx,
int num,
UT_Lock &lock);
142 int total_depth=1,
int d=0);
143 static void sortPolygonCCW(gr_VolumeAngleVector *
points,
int n);
148 int total_depth=-1,
int d=0);
150 static constexpr
int getMaxVolumeSilces();
156 void clearSlices(
bool free);
164 bool myDrawMotionVectors =
false;
165 bool myDrawNormals =
false;
166 bool myIsSelected =
false;
168 static int theVolumePassID;
180 friend struct gr_SliceDrawTask;
A collection of Vulkan UBO, SSBO, and Image shader bindings (descriptor set)
virtual void draw(RE_RenderContext r, GR_RenderMode mode, GR_RenderFlags flags, GR_DrawParms draw_parms)=0
Normal drawing method. Only issue rendering commands.
GLdouble GLdouble GLint GLint const GLdouble * points
void setIsSelected(bool v)
static bool initShaders(RV_Instance *inst)
bool getIsSelected() const
void setDrawMotionVectors(bool v)
GLdouble GLdouble GLdouble z
GT_API const UT_StringHolder cache_name
Object that represents drawable geometry. This object holds vertex, instancing and index buffers for ...
Temporary container for either a RV_Render and an RE_Render.
virtual exint getNumGLPrimitives() const =0
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
set of parameters sent to GR_Primitive::update()
const UT_Array< GR_VolumeSlice * > & slices() const
Handle to the main interface of Vulkan.
const char * className() const override
GLint GLint GLsizei GLsizei GLsizei depth
bool getDrawNormals() const
GA_API const UT_StringHolder parms
UT_Array< GR_VolumeSlice * > & slices()
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
void setDrawNormals(bool v)
const GR_TextureRef & getTexture() const
static void cleanupShaders()
bool getDrawMotionVectors() const
virtual void viewUpdate(RE_RenderContext r, const GR_DisplayOption &opts, const char *cache_name, RE_CacheVersion geo_version, RE_CacheVersion select_version)
const UT_Matrix4DArray & getInstanceTransforms() const