Road Architect - Render
Handles all editor viewport rendering for the Road Architect. Draws road surfaces, outlines, centerlines, lane numbering, direction arrows, node spheres, guidelines, layer visualizations, junctions, l
Handles all editor viewport rendering for the Road Architect. Draws road surfaces, outlines, centerlines, lane numbering, direction arrows, node spheres, guidelines, layer visualizations, junctions, links, groups, multi-selections, terrain edit ranges, tunnels, overlays, and bridges.
Public Functions
| Function | Description |
|---|---|
M.drawRoadMarkups(...) | Main render entry point: draws all visual road markups in the editor viewport |
Parameters for drawRoadMarkups:
roads- array of all road structuresmap- road name to index maptree- spatial query tree for camera-frustum cullingselectedRoadIdx- currently selected road indexselectedNodeIdx- currently selected node indexselectedLayerIdx- currently selected layer indexselectedLink- proposed link preview dataselectedCandidateJct- proposed junction preview dataisGuidelines- whether to show alignment guidelinesisGroupMode- whether group editing mode is activeisProfileMode- whether profile editing mode is activeisCreateGroup- whether user is drawing a group polygongPolygon- group polygon vertices being drawnmulti- multi-selection arrayisShowTerraSingle/isShowTerraGroup- terraform visualization flagsselectedPlacedGroup- selected placed group for terraform visterraParams- terraform parameter set
Example: Road Rendering Pipeline
local render = require('editor/tech/roadArchitect/render')
-- Called each frame from the Road Architect editor's onEditorGui:
render.drawRoadMarkups(
roads, -- all roads
roadMap, -- name → index map
spatialTree, -- R-tree for culling
selectedRoadIdx, -- selected road
selectedNodeIdx, -- selected node
selectedLayerIdx, -- selected layer
selectedLink, -- proposed link (or nil)
selectedCandidateJct, -- proposed junction (or nil)
isGuidelines, -- show guidelines
isGroupMode, -- group mode active
isProfileMode, -- profile mode active
isCreateGroup, -- drawing group polygon
gPolygon, -- polygon verts
multi, -- multi-selected roads
isShowTerraSingle, -- terraform single road vis
isShowTerraGroup, -- terraform group vis
selectedPlacedGroup, -- placed group for terraform
terraParams -- terraform parameters
)
-- Rendering is camera-culled: only roads within 350 units are drawn
-- Each road controls its own display flags:
-- road.isDisplayRoadSurface[0] - semi-transparent surface mesh
-- road.isDisplayRoadOutline[0] - edge outline lines
-- road.isDisplayRefLine[0] - centerline reference line
-- road.isDisplayLaneInfo[0] - lane numbers and direction arrows
-- road.isDisplayNodeSpheres[0] - spheres at node positions
-- road.isDisplayNodeNumbers[0] - text labels at nodesInternal Render Functions
The module contains many local helper functions:
renderRoadSurface- draws semi-transparent lane polygonsrenderRoadOutline- draws edge lines with selection highlightingrenderRoadCenterline- draws the reference/center linerenderLaneNumbering- draws lane number labelsrenderLaneDirectionTriangles- draws direction arrow trianglesrenderNodeSpheres- draws spheres at road nodesrenderNodeNumbering- draws node index labelsrenderLayer- draws a specific profile layer visualizationrenderOverlay- draws overlay patchesrenderAutoTunnel- draws tunnel geometryrenderProposedJoin_End2End- draws proposed link previewrenderProposedJoin_End2Mid- draws proposed junction previewrenderGroupPolygonFence- draws group creation polygonrenderMultiSelectNodes- highlights multi-selected nodesrenderGuidelines- draws alignment guidelinesrenderTerraSingle/renderTerraGroup- terraform range visualization
Notes
- Uses
debugDrawerfor 3D line/sphere/triangle rendering - Camera culling via spatial tree query (350-unit radius)
- Selected roads get distinct coloring and additional detail
See Also
- Road Architect - Clothoid - Related reference
- Road Architect - Decals - Related reference
- Road Architect - Export - Related reference
- World Editor Guide - Guide
Road Architect - Profiles
Manages road cross-section profiles in the Road Architect. Profiles define the lateral structure of a road: lane widths, layer materials, shoulder/curb geometry, and elevation offsets. Supports profil
Road Architect - Road Mesh
Generates procedural meshes for roads including sidewalks, curbs, and bridges using the Road Architect system.