Editor Tool Utilities – Spline Mask Export
Exports spline ribbon surfaces as a binary PNG mask file (GFXFormatR16) covering the full terrain extent. Uses kd-tree spatial queries and barycentric quad intersection for efficient rasterisation.
Exports spline ribbon surfaces as a binary PNG mask file (GFXFormatR16) covering the full terrain extent. Uses kd-tree spatial queries and barycentric quad intersection for efficient rasterisation.
Public API
| Function | Signature | Description |
|---|---|---|
M.export | (filepath, sources, margin) | Exports sources as a 16-bit PNG mask. Sources are arrays of {pos, width, binormal} tables. Margin bloats the quadrilaterals. White = inside, black = outside |
Code Examples
local maskExport = require('editor/toolUtilities/splineMaskExport')
local util = require('editor/toolUtilities/util')
-- Get sources from a spline (division points with width and binormal)
local sources = util.getSourcesSingle(mySpline)
-- Export to a PNG mask file with 2m margin
maskExport.export('/art/masks/road_mask.png', sources, 2.0)
-- Export from multiple splines
local allSources = util.getAllSources(splines)
maskExport.export('/art/masks/all_roads_mask.png', allSources, 1.0)
-- The export process:
-- 1. Computes terrain grid extents from TerrainBlock world box
-- 2. Builds quadrilaterals from sources with optional margin
-- 3. Creates a kd-tree for fast spatial queries
-- 4. For each terrain grid pixel, queries kd-tree and checks
-- barycentric quad containment
-- 5. Writes 65535 (white) for inside, 0 (black) for outside
-- 6. Saves as GFXFormatR16 PNGSee Also
- Tool Utilities - Fit Polyline - Related reference
- Editor Tool Utilities – Geometry - Related reference
- Editor Tool Utilities – Gizmo - Related reference
- World Editor Guide - Guide
Editor Tool Utilities – Spline Input
Central input handler for spline-editing tools. Manages mouse/keyboard events for adding, inserting, dragging, and deleting spline nodes. Supports rib (width) and bar (velocity/height) handle dragging
Editor Tool Utilities – Style
Centralised style configuration for spline-editing tools. Provides debug-draw colours, line thicknesses, sphere scales, pulse animation parameters, and ImGui colour theme palettes.