SPECIMEN · 016 · § I · AUTHORING · HOUDINI
PROJECT LAVOS · THE STACK
Procedural at scene scale. SOPS · VEX · USD · SIDE EFFECTS · 1996

houdini.

SPECIMEN 016 · SECTION I · AUTHORING
Houdini doesn't model. Houdini computes. Geometry is a function of parameters; the output is the final node, but the source of truth is the graph. Re-evaluate at any cost; the runtime never sees the cost.

Every authoring tool has a primitive. Maya's primitive is the rig — a hierarchy of joints and skin weights, hand-tuned. Cinema 4D's primitive is the keyframe — a curve of values across time, easing in and out. Blender's primitive, increasingly, is the script — a Python operation chained into a pipeline. Houdini's primitive is the network. A SOP graph that takes parameters in and emits geometry out, every time, deterministically.

The languages are SOPs (Surface Operators — the nodes themselves) and VEX (the C-like expression language that runs inside them). Together they make geometry a function of its parameters. Need ten thousand variations of a city block? You don't model ten thousand cities. You build one network and dial the seed parameter. The graph runs once per variant; you never touch geometry again.

That power has costs. Houdini has the steepest learning curve in §I — the procedural mindset is unlike modeling-by-feel. It's also the most expensive license in the section, though the Apprentice and Indie tiers exist for non-commercial and small-studio use. The trade is sharp: if your work is generated more than it is sculpted, Houdini becomes the only tool. Most modern FX pipelines — destruction, fluid, smoke, terrain at scene scale — already arrive at that conclusion.

/obj/geo · NETWORK EDITOR
▲ z-up · cooked · 4 of 4 nodes
01 grid1 SOP
02 mountain1 SOP
03 scatter1 SOP
04 copytopoints1 SOP
grid1 · resolution 32×32 · size 4·4
cooked · 0.0 ms
VEX · the wrangle that scatters and aligns
// Attribute Wrangle SOP. Runs per point on @P (position).
// Builds a per-point orient quaternion and a copy-variant index,
// driving the copytopoints SOP downstream.

int seed = @ptnum + chi('seed');

// Read the underlying terrain normal at this point's position.
vector n = point(1, 'N', @ptnum);

// Random rotation around the surface normal — scatters orientation.
float spin = rand(seed * 17) * radians(360);
@orient = quaternion(spin, n);

// Pick one of N variants of the source geometry to copy here.
i@variant = int(rand(seed * 31) * chi('numvariants'));

// Optional: scale falls off near the silhouette to feel grounded.
float rim  = 1.0 - abs(dot(n, set(0, 1, 0)));
@pscale = fit(rim, 0, 1, 0.85, 0.45);
Lineage
1987
PRISMS ships at Omnibus Computer Graphics, Toronto. The earliest ancestor — node-based 3D before "node-based 3D" was a thing.
1996
Side Effects Software spins out from the dissolved Omnibus. PRISMS becomes Houdini. The procedural philosophy is locked in from the start.
2003
VEX matures. The C-like expression language runs inside SOPs at near-native speed. Procedural geometry becomes practically fast, not just theoretically clean.
2014
HDA — Houdini Digital Asset — formalizes. A network becomes a sealed asset with parameters, shareable across artists and studios. Procedural recipes become a currency.
2018
Apprentice / Indie tiers stabilize. The procedural ceiling becomes available below the studio price point. Freelance VFX and small-team game dev expands.
2020
Karma renderer ships. USD-native, MaterialX-aware. Side Effects bets on USD; Solaris (the lookdev/lighting context) ships alongside.
2024
Houdini 20.x. APEX rigging, modern Vellum, accessible Solaris. Industry-standard for procedural FX, terrain, simulation, and any pipeline where geometry must be generated.
Adjacent in the stack
VEX
The C-like expression language that runs inside SOPs. Houdini's hot path.
Mantra
Houdini's traditional renderer. Mature, deeply integrated with the SOPs network.
Karma
The modern USD-native renderer. The forward-looking choice in the SideFX ecosystem.
Geometry Nodes
Blender's procedural answer. Houdini's idea, Blender's interface, no license.
USD
Solaris speaks USD natively. The cross-tool interchange Houdini bet on early.
Blender
The other authoring suite. Same § I slot, opposite philosophy.
computed, then committed.
SPECIMEN 016 · MMXXVI
§ I · AUTHORING
prev · 015 bpy · ../the stack