RangeMeshWriter
Synchronous writer for one modifier's owned range-decoration buffers. Geometry emitted with different texture paints or blend modes is split into render-key batches automatically.
public void SetPaint(in RangeDecorationPaint decorationPaint, in PaintFrame paintFrame, RangeDecorationOrder order = RangeDecorationOrder.Behind)Selects paint, projection frame and render side for subsequent vertices. Changing a texture closes the previous render batch while compatible consecutive output remains batched.
public void SetPaint(in RangeDecorationPaint decorationPaint, in PaintFrame paintFrame, RangeDecorationOrder order, Color32 tint)Selects paint with a colour multiplier for subsequent vertices.
public void SetPaint(in RangeDecorationPaint decorationPaint, Rect mappingBounds, RangeDecorationOrder order = RangeDecorationOrder.Behind)Builds the projection frame from bounds, then selects it for subsequent vertices.
public void SetPaint(in RangeDecorationPaint decorationPaint, Rect mappingBounds, RangeDecorationOrder order, Color32 tint)Builds the projection frame from bounds, then selects it with a colour multiplier.
public int AddVertex(Vector2 position)Adds one painted vertex and returns its writer-local index.
public int AddCoverageVertex(Vector2 position, float coverage)Adds a vertex carrying analytic edge coverage. Use 1 on the contour and 0 on a narrow exterior fringe; the decoration shader converts the interpolation into a screen-space antialiased edge with derivatives.
public void AddRect(Rect bounds)Adds a flat painted rectangle.
public void AddRoundedRect(Rect bounds, float cornerRadius, RangeDecorationCorners corners = RangeDecorationCorners.All)Adds a painted rounded rectangle with independently selectable corners.
public void AddRoundedRect(Rect bounds, in RangeVisualTransform transform, float cornerRadius, RangeDecorationCorners corners = RangeDecorationCorners.All)Adds a rounded rectangle mapped through one resolved final glyph transform.
public void AddRoundedRectSection(Rect fullBounds, Rect sectionBounds, float cornerRadius, RangeDecorationCorners corners = RangeDecorationCorners.All)Adds one rectangular section of a larger rounded box. Shape coordinates remain relative to fullBounds, allowing a box to be subdivided for independent paint frames without introducing rounding seams.
public void AddRoundedRectSection(Rect fullBounds, Rect sectionBounds, in RangeVisualTransform transform, float cornerRadius, RangeDecorationCorners corners = RangeDecorationCorners.All)Adds one section of a rounded rectangle after applying a resolved glyph transform. Shape coordinates stay in the undeformed rectangle, preserving corner radius and Paint interpolation across affine and bilinear quad deformation.
