Shapes, points, geometry, splines: which and when
Infinio moves data between nodes along typed wires. Each type has its own color in the graph editor and its own strengths. Picking the right type for a job makes a graph simpler; picking the wrong one means extra conversion steps and slower feedback.
The four data types
Polygon (orange wire)
A flat 2D outline made of one or more closed contours. Think of it as the footprint of a shape on the XZ plane: a floor plan, a window opening, a leaf silhouette.
Polygons are cheap to combine and reshape. Boolean operations (union, difference, intersection), offset, inset, and shell all work on polygons directly and are fast. Use polygons whenever you are working with flat shapes before they become 3D geometry.
Spawns (cyan wire)
A list of transforms: each spawn carries a position, rotation, and scale. Spawns have no surface; they are placement instructions, not mesh data.
Spawns are cheap to filter and thin. Slope filters, density masks, proximity filters, and category assignments all operate on spawns without touching geometry. The cost of filtering 1000 spawns is negligible; the cost of instancing 1000 meshes is not. Push as much logic as possible into the spawn stage before you commit to geometry.
Geometry (red wire)
Triangulated mesh data: vertices, normals, UVs, and indices. This is what renders on screen.
Geometry is the most expensive type to create and modify. Every edit rebuilds or copies triangle data. Use geometry at the end of a chain, not the beginning. Polygons, spawns, and splines are all cheaper to work with; convert to geometry only when you need a renderable surface.
Spline (mint/teal wire)
A path through 3D space, defined by control points and a curve type. Splines drive extrusions, fences, walls, roads, and anything that follows a line.
A spline stores the path description, not the mesh. Extrude Along Spline, Lathe, Wall Along Spline, and Repeat Along Spline all read a spline and produce geometry. You can also scatter points along a spline or convert it to a closed polygon.
Conversion: which nodes move between types
Polygon to other types
- Polygon to Spawns: Polygon Scatter (610) places points inside the polygon area. Clip To Polygon (629) filters an existing spawn list to keep only points inside the shape.
- Polygon to Geometry: Extrude (274) pulls the outline into 3D. Revolve (200) spins it around an axis. Straight Skeleton Roof (214) raises a pitched roof. Polygon Sweep (712) moves the outline along a path.
- Polygon to Spline: Polygon to Spline (716) converts the polygon’s outline into a followable path.
Gap: there is no single node that places points at polygon corners. Use a ForEach Polygon Corner loop to visit each corner and emit a spawn at that position.
Spawns to other types
- Spawns to Geometry: Instancer (213) stamps a template mesh at every spawn. ForEach Spawn (916) runs a sub-graph at every spawn and merges the results; use it when each instance needs its own graph logic.
- Spawns to Polygon: Voronoi Cell Polygon (518) builds the Voronoi cell around each spawn point. Voronoi Diagram (520) returns all the cells as a single polygon set.
Gap: there is no direct spawns-to-hull node. To get a polygon that outlines a cloud of points, generate a polygon first and then apply Convex Hull (509) to it.
Geometry to other types
- Geometry to Spawns: Geometry to Points (612) samples vertices as spawns. Surface Scatter (602) places spawns randomly across the surface, respecting normals.
- Geometry to Polygon: Cross Section (523) slices the mesh at a given height and returns the cut as a polygon.
Spline to other types
- Spline to Spawns: Spline Scatter (613) distributes points along the path.
- Spline to Geometry: Extrude Along Spline (702) pulls a profile along the path. Lathe (704) revolves a profile. Repeat Along Spline (277) tiles a mesh along the path. Wall Along Spline (261) builds a wall following the spline.
- Spline to Polygon: Spline to Polygon (715) closes the path into a flat 2D polygon.
Three worked chains
Footprint to building
- Draw or import a polygon that represents the building’s floor plan.
- Wire it into Extrude to raise walls, or into Straight Skeleton Roof to generate a pitched roof.
- Merge the two geometries for a complete shell.
The polygon stage is where you do boolean operations to cut window openings before extruding, keeping all the expensive geometry work to a single step at the end.
Surface to scattered props
- Add a mesh for your terrain surface. Wire it into Surface Scatter to get a spawn list distributed across it.
- Add a Slope Filter to remove spawns from steep faces. Add a Density Mask driven by a Float parameter to let a designer thin the scatter in the inspector.
- Wire the filtered spawns into Instancer (for a single mesh) or ForEach Spawn (for per-instance graph logic). The instancer produces geometry only at the very end.
Everything before Instancer is spawn-list work: fast, cheap, and tunable without rebuilding mesh data.
Points to instanced props with variation
- Generate or import a spawn list from any source: Spline Scatter, Polygon Scatter, or Surface Scatter.
- Add Random Rotation per Point and Random Scale per Point to vary each copy independently, driven by the graph seed.
- Wire into Instancer to stamp the template mesh at every spawn.
Random variation is applied in the spawn stage at near-zero cost. The instancer sees the final list; it does not need to know how each spawn was varied.
Socket colors at a glance
| Type | Color | Hex |
|---|---|---|
| Geometry | Red | #F42B2B |
| Spawns | Cyan | #5BCEFA |
| Spline | Mint | #00D4AA |
| Polygon | Orange | #FF7A00 |
The graph editor’s palette and the wire colors always match. If a connection is not accepted, the types do not match and you need a conversion node between them.