“Patterns and Techniques Used in the Houdini 3D Graphics Application ”
summary
Houdini runs on decades-old C++ with a custom low‑level library stack, a node‑based procedural engine, and GPU kernels via OpenCL; engineers build copy‑on‑write paged arrays to avoid copying huge meshes and support 1.1 billion particles and ~500M‑voxel volumes. A custom UT_StringHolder/StringRef cuts mallocs by about 20×, UT_Array with realloc beats std::vector in debug, and adoption of C++11/14, jemalloc/tbbmalloc, Boost namespacing, OpenVDB and the VFX Reference Platform drives compatibility and painful compiler/build tradeoffs that mostly work.
AI-written summary · about
chapters (8)
- 0:00Introduction and Side Effects history
- 11:46Houdini procedural node networks
- 24:07Transition from C to C++ in Houdini
- 33:58Custom C++ classes and libraries
- 42:14Geometry data structures and COW
- 57:55String handling optimizations
- 1:04:48Reflections on C++ practices
- 1:11:22Q&A session
related talks
34mProcedural this, procedural that
01h 01m3D Graphics for Dummies
45mBuilding Better Worlds with Houdini and Unreal Engine 5
01h 03mIntro to 3D Graphics
37mCreative Coding for Fun and (Non)Profit
47mThe Visual Technology of Gears 5
01h 12mQt/3D QML Scripting for UI Designers and Hackers
47mDo You Like Physics Simulations aaaannnd C++? Me Too!
