11 #ifndef GR_PolySurfaceVK_h
12 #define GR_PolySurfaceVK_h
32 const char *
className()
const override {
return "GR_PolySurfaceVK"; }
36 int &out_connect_start,
37 int &out_connect_num)
override;
42 PrimitiveType prim_type,
45 int &out_connect_start,
46 int &out_connect_num)
override;
60 {
return myHasAlpha || myHasBlendedMaterial; }
104 void buildWireframeConnectivity(
109 bool target_vert =
false);
115 void buildUVBoundaryConnectivity(
170 int myMaterialID = 0;
171 bool myHasTangents =
false;
172 bool myWindingOrder =
false;
173 bool myAutoGenNormal =
false;
174 bool myIsFlattened =
false;
175 bool myHasCd =
false;
176 bool myHasAlpha =
false;
177 bool myHasBlendedMaterial =
false;
178 bool myHasNormalOffsets =
false;
179 bool myRanDisplacement =
false;
180 int myNumBlendShapes = 0;
181 int myNumBoneTransforms = 0;
183 int64 myTopVersion = -1;
184 int64 myPointVer = -1;
187 gr_SetCache myBoneBlendSet;
190 bool myIsMatXMaterial =
false;
const char * className() const override
virtual void draw(RE_RenderContext r, GR_RenderMode mode, GR_RenderFlags flags, GR_DrawParms draw_parms)=0
Normal drawing method. Only issue rendering commands.
const GT_PrimitiveHandle & getMesh() const
virtual void getVkDecorGeometry(GR_DecorationRender::PrimitiveType prim_type, RV_PrimType render_prim, RV_Geometry &geo, int &out_connect_start, int &out_connect_num)
GT_API const UT_StringHolder cache_name
Object that represents drawable geometry. This object holds vertex, instancing and index buffers for ...
GLboolean GLboolean GLboolean GLboolean a
Temporary container for either a RV_Render and an RE_Render.
virtual RV_Geometry * getVkPickGeometry(unsigned int pick_mode)
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()
RV_API void cleanupShaders()
virtual void updateAccelerationStructure(RV_Render *r, int tag, int light_id, const UT_Matrix4F &obj_mat)
Handle to the main interface of Vulkan.
bool supportsRayTrace() const override
const GT_PrimitiveHandle & getConvexedMesh() const
RV_API bool initShaders(RV_Instance *inst)
virtual void getPickConnectGroup(unsigned int pick_mode, GR_PickGeometry pick_geo, int &out_connect_start, int &out_connect_num)
GA_API const UT_StringHolder parms
bool hasTransparency() const override
returns true if this drawable renders some transparent elements
An array of numeric values (int32, int64, fpreal16, fpreal32, fpreal64)
virtual void update(RE_RenderContext r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const char *cache_name)=0
virtual RV_VKAccelerationStructure * getAccelerationStructure()