11 #ifndef GR_PolyRibbonVK_h
12 #define GR_PolyRibbonVK_h
26 static void cleanupShaders();
31 const char *
className()
const override {
return "GR_PolyRibbonVK"; }
45 int &out_connect_start,
46 int &out_connect_num)
override;
49 PrimitiveType prim_type,
52 int &out_connect_start,
53 int &out_connect_num)
override;
61 void setSubdivisionCurve(
bool is_subdiv);
84 bool myIsSubdivisionCurve : 1;
85 unsigned myBarbMode : 2;
87 bool myObjectSelected;
88 bool setupFeatherShaderBlock(
90 const char *
const binding_name,
91 const exint element_count,
96 const char *binding_name);
116 bool has_barb_orient);
UT_UniquePtr< RV_ShaderVariableSet > mySet
UT_UniquePtr< RV_ShaderBlock > myBlock
virtual void draw(RE_RenderContext r, GR_RenderMode mode, GR_RenderFlags flags, GR_DrawParms draw_parms)=0
Normal drawing method. Only issue rendering commands.
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 ...
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 char * className() const override
bool hasTransparency() const override
returns true if this drawable renders some transparent elements
UT_UniquePtr< RV_ShaderBlock > myInfoBlock
Handle to the main interface of Vulkan.
virtual void getPickConnectGroup(unsigned int pick_mode, GR_PickGeometry pick_geo, int &out_connect_start, int &out_connect_num)
CachedAuxFeatherBarbAttr myWidth
virtual void update(RE_RenderContext r, const GT_PrimitiveHandle &primh, const GR_UpdateParms &p, const char *cache_name)=0