SPECIMEN · 014 · § I · AUTHORING · BLENDER
PROJECT LAVOS · THE STACK
Author once, ship forever. OPEN · 3D SUITE · PYTHON-FIRST · 1995

blender.

SPECIMEN 014 · SECTION I · AUTHORING
The open-source 3D suite that became default by being scriptable. The runtime never sees Blender. The runtime sees what Blender produced — a glTF, a baked map, a USD scene, a Cycles render. The bake runs once, in Python, upstream.

Most desktop tools resist code. Blender doesn't. Every UI action — every modifier, every keyframe, every render setting — has a Python equivalent in bpy, the embedded API. You can drive the entire authoring pipeline from a script: generate geometry, set up materials, run the bake, write the output, exit. No GUI. No mouse. No human.

That single design choice is why Blender became the default for code-driven render pipelines. Houdini ships the deepest procedural toolkit; Maya the deepest character-rigging stack; Cinema 4D the smoothest motion-graphics surface. But when the pipeline must be reproducible from a CI job — when ten thousand variants of a hero asset need to bake out tonight — Blender's scriptability without a license server wins.

The runtime that ships to the device sees none of this. It sees the artifact: a 50KB glTF, a 2MB KTX2 texture, a manifest JSON. The fidelity that took fourteen hours of Cycles to compute now takes sixteen milliseconds to fetch and three to upload to the GPU. That asymmetry is why §I exists at all. Authoring runs at whatever cost the truth requires; runtime is dumb and fast.

VIEWPORT · USER PERSPECTIVE
▲ z-up · cycles preview · viewport.shading=wire
OBJECT · TORUSKNOT.001 · 4096 verts · 8064 faces
frame 1 of 1 · evaluated · 0.0 ms
bpy script · the form, evaluated upstream
# Generate a torus knot, link it to the scene, save the file.
# Run with:  blender --background --python make_knot.py
import bpy, math

# Clear the default cube
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()

# Lay down a torus, then twist it into a (2, 3) knot via a script
mesh = bpy.data.meshes.new('TorusKnot')
verts, faces = [], []
P, Q, R = 2, 3, 0.4
N, M = 256, 16
for i in range(N):
    t = i / N * 2 * math.pi
    cx = math.cos(P*t) * (1 + 0.5*math.cos(Q*t))
    cy = math.sin(P*t) * (1 + 0.5*math.cos(Q*t))
    cz = 0.5 * math.sin(Q*t)
    for j in range(M):
        s = j / M * 2 * math.pi
        verts.append((cx + R*math.cos(s),
                      cy + R*math.sin(s),
                      cz))

mesh.from_pydata(verts, [], faces)
obj = bpy.data.objects.new('TorusKnot', mesh)
bpy.context.collection.objects.link(obj)
bpy.ops.wm.save_as_mainfile(filepath='/tmp/knot.blend')
Lineage
1995
Ton Roosendaal writes Blender at NeoGeo, an animation studio in the Netherlands. Internal tool for the studio's commercial pipeline.
1998
NeoGeo spins out NaN to develop Blender as a product. Cross-platform 3D suite, distributed as shareware.
2002
NaN goes bankrupt. The community raises €100,000 to buy Blender's source from the receiver. Released under GPL. The open era begins.
2008
Blender 2.5 redesign. The keymap and UI become navigable. A generation of 3D artists who hated Blender on principle quietly relearn it.
2011
Cycles ships. A modern unbiased path tracer, GPU-capable, ships in the same suite as the modeler. The asymmetry between authoring and runtime opens up by orders of magnitude.
2018
EEVEE ships. Real-time PBR rendering inside Blender's viewport. The viewport itself becomes a render target. Not just preview anymore.
2021
Geometry Nodes. Procedural modeling without writing Python. Houdini's idea, Blender's interface, available to anyone with a free download.
2024
Blender 4.x. Asset libraries, light linking, modern color management. The default 3D tool for most pipelines that don't have a film-studio licensing budget.
Adjacent in the stack
bpy
The Python API. What turns Blender from a tool into a function. Same suite, no GUI.
Cycles
The path tracer. Ceiling-fidelity render, available standalone outside Blender. The bake runs once.
Geometry Nodes
Procedural modeling as a node graph. Houdini-lite, native, no add-on, no license.
glTF
The handoff. What the runtime actually loads — the bake's compressed shadow.
USD
Cross-tool scene exchange. Blender 3.5+ imports and exports USD natively now.
Houdini
The other open authoring suite. Deeper procedural ceiling. Different pipeline, same § I slot.
authored once.
SPECIMEN 014 · MMXXVI
§ I · AUTHORING
../the stack