Latest / tag
houdini beyond vex
2026
HoudiniStage in, stage out: Houdini's Solaris treats every node as a function over a USD sceneIn Houdini's Solaris, every LOP node takes a composed USD stage and returns one, and its edits land in one in-memory layer at the top. A 31-line usd-core model of that contract, the Python LOP that does it for real, the same network checked in Houdini 22, and why a Layer Break decides what gets saved.
HoudiniHoudini digital assets are versioned packages: namespaces, pinned instances, and why 2.10 beats 2.9A Houdini digital asset turns a node network into a reusable node type whose name carries a namespace and a version, much like a package. How Houdini 22 resolves those names, why saved scenes stay pinned to old versions, and a 29-line Python model of the rules.
HoudiniMake for 3D: Houdini's TOPs are a build system whose targets are work itemsHoudini's TOP networks (PDG) generate work items, cook them, skip the ones whose output files already exist, and gather results with partitions. We build the same idea in 28 lines of plain Python, then run it as a Python Processor TOP in Houdini 22 and see where the analogy holds.
HoudiniSame wrangle, now on the GPU: what Houdini's OpenCL SOP makes you declareA four-line VEX ripple ported to Houdini's OpenCL SOP returns the same points, once every attribute's type, access mode and fallback is declared on a #bind line. What VEX infers or creates for you, the binding contract that replaces it, and timings measured on one GPU.
HoudiniThe same point loop three ways in Houdini: VEX, a Python for-loop, and NumPyOne sine-wave deformer written three ways in Houdini: a VEX wrangle, a Python SOP that loops over every point, and a Python SOP that hands one flat buffer to NumPy. All three give the same grid, but on a million points the loop takes seconds and the other two take milliseconds.