40 class rv_RenderUIPolyConvex;
56 bool pickpass =
false,
57 int pick_depthpass = 0);
60 virtual void clearAllData();
64 void bumpLayer(
int delta);
67 virtual void setZStart(
fpreal32 zStart);
108 bool high_priority =
false);
109 void setPickHighPriority(
bool high_priority);
112 static constexpr
int PICK_HIGH_PRIORITY_FLAG = 0x80000000;
114 void pushLineSmoothing(
bool smooth_lines);
115 void pushLineSmoothing();
116 void setLineSmoothing(
bool smooth_lines);
117 void popLineSmoothing();
120 void pushLineStyle();
125 void pushLineWidth();
130 void beginTriangles();
137 void beginTriangleFan();
138 void endTriangleFan();
159 void beginQuadStrip();
166 void beginPolygon(
int concave);
174 void beginClosedLine();
184 bool segments =
false);
187 bool segments =
false);
193 void drawViewportPoint(
const float vtx[3],
fpreal32 size);
202 void v2DI(
const int vtx[2]);
204 void vertex2DI(
int x,
int y);
205 void vertex2DS(
int x,
int y);
208 void v3DW(
const float vtx[3]);
209 void vertex3DW(
float x,
float y,
float z);
213 void rect2DS(
int x1,
int y1,
int x2,
int y2);
214 void box2DS(
int x1,
int y1,
int x2,
int y2);
218 void rectf2DS(
int x1,
int y1,
int x2,
int y2);
219 void boxf2DS(
int x1,
int y1,
int x2,
int y2);
222 void circleW(
float x,
float y,
float r);
223 void circleS(
int x,
int y,
int r);
224 void arcW(
float x,
float y,
float r,
int angle_start,
int angle_end);
225 void arcS(
int x,
int y,
int r,
int angle_start,
int angle_end);
229 void circlefW(
float x,
float y,
float r);
230 void circlefS(
int x,
int y,
int r);
231 void arcfW(
float x,
float y,
float r,
int angle_start,
int angle_end);
232 void arcfS(
int x,
int y,
int r,
int angle_start,
int angle_end);
235 void ringfW(
float x,
float y,
float inner_r,
float outer_r);
236 void ringfS(
int x,
int y,
int inner_r,
int outer_r);
237 void sectorW(
float x,
float y,
float inner_r,
float outer_r,
238 float angle_start,
float angle_end);
239 void sectorfW(
float x,
float y,
float inner_r,
float outer_r,
240 float angle_start,
float angle_end);
248 static fpreal32 getBufferedRenderZBump();
253 void resetCurrentZ();
255 void clearSourceData();
276 bool getPrimitiveIsActive()
const;
287 void renderPrimitives(
RV_Render* r,
bool pickpass,
int pick_depthpass);
289 int myTriangleVertexCount;
290 bool myTriangleBuildFan;
291 bool myTriangleBuildStrip;
292 int myPolygonMaxVertexCount;
293 int myLineVertexCount;
296 int myPointVertexCount;
338 setColor(clr[0], clr[1], clr[2], clr[3]);
362 float vtx[3] = {
x,
y, z};
366 #endif // RV_RenderUI_h
A collection of Vulkan UBO, SSBO, and Image shader bindings (descriptor set)
UT_Array< UT_Vector4F > myColorData
UT_Fpreal32Array myWidthData
UT_SharedPtr< RV_RenderUI > RV_RenderUIHandle
GLdouble GLdouble GLdouble z
fpreal32 getYOrigin() const
Object that represents drawable geometry. This object holds vertex, instancing and index buffers for ...
GLboolean GLboolean GLboolean GLboolean a
void c4DW(const fpreal32 clr[4])
UT_Vector3Array myPositionData
Basic vertex properties.
void vertex2DW(fpreal32 x, fpreal32 y)
void v3DW(const float vtx[3])
Temporary container for either a RV_Render and an RE_Render.
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
UT_Array< UT_Vector3i > myPickComponentData
UT_IntArray myPointElementData
void v2DW(const fpreal32 vtx[2])
Create vertices for primitives.
UT_IntArray myLineElementData
void v2DI(const int vtx[2])
UT_Fpreal32Array myPointSizeData
UT_IntArray myLineDottedElementData
std::shared_ptr< T > UT_SharedPtr
Wrapper around std::shared_ptr.
constexpr auto set(type rhs) -> int
fpreal32 getXPerPixel() const
Get x or y distance in current units that corresponds to 1 pixel.
UT_Fpreal32Array myLineStyleData
void vertex2DS(int x, int y)
GLboolean GLboolean GLboolean b
Handle to the main interface of Vulkan.
UT_IntArray myTriangleElementData
UT_IntArray myLineSmoothElementData
void setColor(const UT_Color &c, fpreal32 a=1.0f)
FS_API bool cleanup(UT_StringArray &removed, UT_StringArray &error_files, exint &memory_freed, bool dry_run, const char *override_path=nullptr)
UT_IntArray myLineWideElementData
void vertex3DW(float x, float y, float z)
fpreal32 getYPerPixel() const
UT_Array< RV_RenderUIHandle > RV_RenderUIArray
void vertex2DI(int x, int y)
GLdouble GLdouble GLdouble y2
UT_Array< UT_Vector3i > myPickBaseData
void c3DW(const fpreal32 clr[3])
Set vertex attributes.
fpreal32 getXOrigin() const