Houdini 20.0

Houdini third-party libraries and tools

Houdini 20.0 is fully compliant with the VFX Reference Platform CY2023 specification (http://www.vfxplatform.com).

Houdini variant builds are available to help studios transition between VFX Platform specifications. There are Houdini Python 3.9 builds for Linux, macOS and Windows and Houdini gcc 9.3/glibc 2.17 builds for Linux only. Aside from the deviating Python, gcc and glibc version numbers, the variant builds remain compliant with the rest of the VFX Reference Platform CY2023 specification.

Houdini uses the following third party libraries:

Third-Party Tool Version License VFX Platform Compliant
aiohttp 3.8.4 Apache 2.0 License N/A
aiosignal 1.3.1 Apache 2.0 License N/A
Alembic

1.8.3

Uses version namespace with sidefx suffix
License Yes
Apache Thrift 0.13.0 Apache 2.0 License N/A
asn1crypto 0.24.0 MIT License N/A
async-timeout 4.0.2 Apache 2.0 License N/A
attrs 22.2.0 MIT License N/A
Audiere 1.9.4 LGPL License N/A
Autodesk FBX (closed source)

2020.0.1

The Apple Silicon builds use FBX SDK 2020.2 which is required for M1 support
License Yes
bcrypt 3.1.7 Apache License, Version 2 N/A
Berkeley DB 4.5.20 License N/A
Blosc 1.20.1 License N/A
Boost

1.72.0

Uses custom hboost namespace
Boost Software License

Yes

The Boost libraries are renamed with symbols namespaced
Bullet 2.86 License N/A
bzip2 1.0.5 BSD-style License N/A
certifi 2018.1.18 Mozilla Public License 2.0 N/A
cffi 1.12.3 MIT License N/A
chardet 3.0.4 LGPL 2.1 License N/A
charset-normalizer 3.0.1 MIT License N/A
COLLADA DOM 1.4.1 SCEA Shared Source License N/A
cryptography 2.7 BSD License or Apache License, Version 2.0 N/A
cssutils 2.3.1 LGPL 3 License N/A
CUDA 12.2 NVIDIA Software License Agreement N/A
cURL 7.79.1 License N/A
dav1d 1.2.1 BSD 2-Clause License N/A
decNumber License N/A
Dem Bones 1.2.1 BSD 3-Clause License N/A
demjson 2.2.4 LGPL 3 License N/A
DirectXTex 2020.09.30 MIT License N/A
ecdsa 0.13 MIT License N/A
Eigen 3.4.0 MPL 2.0 License, LGPL 2.1 License N/A
Embree

3.13.1

Uses namespace with sidefx suffix
Apache 2.0 license N/A
Expat 2.0 MIT License N/A
FFmpeg

6.0.0

LGPL 2.1 License N/A
Flicks

1.0

BSD License N/A
Fontconfig 2.8 License N/A
FreeType 2.9 FreeType License N/A
frozenlist 1.3.3 Apache 2.0 License N/A
future 0.18.2 MIT License N/A
Genshi 0.7.7 License N/A
Geogram (MultiPrecision component only) 1.3.7 License N/A
gettext 0.14.5 LGPL 2 License N/A
glslang 11.13.0 License N/A
HDF5 1.8.11 License N/A
hiredis 1.0.2 License N/A
idna 2.6 BSD-like N/A
imageio 2.6.1 BSD-2-Clause License N/A
Imath

3.1.5

Uses internal namespace with sidefx suffix
BSD 3-Clause “new” or “Revised” License

Yes

The Imath libraries are renamed with symbols namespaced
Intel(R) Math Kernel Library 2020.4 Intel Simplified Software License Yes
Intel(R) Threading Building Blocks 2020 oneTBB 2021 is also used but only in the Intel OpenCL CPU Driver for the Linux gcc 11 build. Apache 2.0 License Yes
ICU 5.1 License N/A
jemalloc 3.6.0 License N/A
Jinja2 3.1.2 BSD 3-Clause License N/A
jsonpath-ng 1.5.3 Apache License 2.0 N/A
Khronos OpenCL ICD 1.2 License N/A
KissFFT License N/A
kvazaar 2.2.0 License N/A
LAME 3.100 LGPL 2 License N/A
LASzip 3.5.0 License N/A
libarchive 3.6.2 New BSD License N/A
libdwelf 2.0.0 BSD 2-Clause License N/A
libe57 1.1.312 License N/A
libevent 2.1.12 BSD 3-Clause License N/A
libigl 0.1 MPL 2.0 License N/A
libiconv 1.14 LGPL License N/A
libjpeg 9d License N/A
libpng 1.6.36 License N/A
libsndfile 1.0.10 LGPL License N/A
libspnav 0.2.3 BSD License N/A
libtiff 4.0.7 License N/A
libvpx 1.12.0 MIT License N/A
libxml2 2.9.7 License N/A
llvm 4.0 License N/A
lz4 3.1.0 BSD 2-Clause License N/A
lz4 Bindings for Python 3.1.0 BSD 3-Clause License N/A
lxml 4.7.1 BSD License N/A
Mako 1.2.4 MIT License N/A
MaterialX 1.38.8 Modified Apache 2.0 License N/A
mbedtls 3.2.1 Apache 2.0 License N/A
mercantile 1.2.1 BSD 3-Clause “New” or “Revised” License N/A
MikkT 1.0 License N/A
multidict 6.0.4 Apache 2.0 License N/A
MurmurHash3 1.0 Public Domain license N/A
MySQL Connector/C++ 8.0.30 GPLv2 N/A
nanobench 4.3.11 MIT License N/A
nose 1.3.7 LGPL 2.1 License N/A
nng 1.1 MIT License N/A
NumPy 1.23.5 License Yes
ONNX Runtime 1.14.1 MIT License N/A
Open Shading Language

1.11.17.0

Uses namespace with HOSL prefix
License N/A
OpenColorIO

2.2.1

Uses custom sidefx namespace
License

Yes

The OpenColorIO libraries are renamed with symbols namespaced
Intel OpenCL CPU Driver

intel

Version 1.2-6.4.0.37-3 is used for Windows and the Linux gcc 9 build.
License N/A
OpenCV

4.7.0

Uses namespace with sidefx suffix
Apache 2.0 License N/A
OpenEXR

3.1.6

Uses internal namespace with sidefx suffix
License

Yes

The OpenEXR libraries are renamed with symbols namespaced
openh264 2.3.1 BSD 2-Clause License N/A
OpenImageDenoise 1.4.1 Apache 2.0 License Yes
OpenImageIO

2.3.14.0

Uses custom HOIIO namespace
Modified BSD License N/A
openpgl

0.5.0

Uses namespace with sidefx suffix
Apache 2.0 license N/A
OpenSSL 1.1.1 License N/A
OpenSubdiv 3.5.0 Apache 2.0 License Yes
OpenVDB

10.1.0

Uses version namespace with sesi suffix
Mozilla Public License 2.0 Yes
Optix 8.0.0 License N/A
paramiko 2.6.0 LGPL 2.1 License N/A
ply 3.11 BSD License N/A
psutil 5.8.0 BSD 3-Clause License N/A
Ptex 2.4.1 License Yes
pybind11 2.6 BSD License N/A
pycrypto 2.6.1 Public Domain license N/A
pycurl 7.43.0.3 License N/A
Pillow 9.0.1 PIL Software License N/A
plumbum 1.6.7 MIT License N/A
pycparser 2.12 License N/A
pynacl 1.3.0 Apache License, Version 2.0 N/A
pyparsing 2.4.7 MIT License N/A
pyobjc 8.5 MIT License N/A
Python 3.10.10 Python Software Foundation License Yes
PyPika 0.48.9 Apache License,Version 2.0 N/A
PySide2 5.15.2 LGPL 2 License Yes
Qt 5.15.2 LGPL 2.1 License Yes
Qt.py 1.2.3 MIT License N/A
requests 2.31.0 Apache 2.0 License N/A
rpyc 4.1.0 MIT License N/A
simplejson 3.16.0 MIT License N/A
SimpleJSON C# MIT License N/A
sse2neon MIT License N/A
SDL2 2.0.5 License N/A
SVT-AV1 1.5.0 BSD 3-Clause Clear License N/A
XSLT 1.1.32 MIT License N/A
Spectra 1.0.1 MPL 2.0 License N/A
SPIRV-Cross 1.3.236 Apache 2.0 License N/A
SPIR-V Headers 1.3.236 License N/A
SPIR-V Tools v2022.4 Apache 2.0 License N/A
SQLite 3.31.1 Public Domain license N/A
Tcl/Tk 8.6.10 Tcl/Tk Licensing Terms N/A
Tracy 0.82 3-clause BSD N/A
urllib3 2.0.4 MIT License N/A
USD 23.08 Modified Apache 2.0 License N/A
Vicon Datastream SDK 1.11 MIT License N/A
Vulkan Loader 1.3.236 License N/A
Vulkan Memory Allocator 3.0.1 MIT License N/A
Vulkan Validation Layer 1.3.236 Apache 2.0 License N/A
Qualisys CPP SDK 1.24 MIT License N/A
xerces 3.1.4 Apache 2.0 License N/A
xxHash 0.8.1 BSD 2-Clause License N/A
XZ Utils 5.2.3 Public Domain license N/A
yaml-cpp 0.6.3 MIT License N/A
yarl 1.8.2 Apache 2.0 License N/A
zlib 1.2.7 License N/A
3DxWare 3.3.1 3Dconnexion License N/A

Houdini’s help system additionally uses the following third party libraries:

Third-Party Tool Version License VFX Platform Compliant
blinker 1.6.2 MIT License N/A
click 8.1.6 BSD 3-Clause License N/A
Colorama 0.4.6 BSD 3-Clause License N/A
Flask 2.3.2 BSD 3-Clause License N/A
furl 2.1.0 Freely Distributable, Unlicense N/A
importlib-metadata 6.8.0 Apache 2.0 License N/A
itsdangerous 2.1.2 BSD 3-Clause License N/A
libsass 0.19.2 MIT license N/A
MarkupSafe 2.1.3 BSD 3-Clause License N/A
orderedmultidict 1.0.1 Freely Distributable, Unlicense N/A
Pygments 2.4.2 BSD License N/A
PyOpenGL 3.1.1a1 License N/A
Werkzeug 2.3.6 BSD 3-Clause License N/A
Whoosh 3.0.0 BSD 2-clause License N/A

HQueue additionally uses the following third party libraries:

Third-Party Tool Version License VFX Platform Compliant
AngularJS 1.5.8 MIT License N/A
asgiref 3.3.1 BSD License N/A
coverage 5.5 Apache 2.0 License N/A
Django 3.1.5 BSD 3-Clause “New” or “Revised” License N/A
jQuery 3.6.0 MIT License N/A
pytz 2020.1 MIT License N/A
setuptools 60.8.2 MIT License N/A
six 1.16.0 License N/A
sqlparse 0.4.1 BSD-3-Clause License N/A
waitress 2.0.0 ZPL 2.1 N/A

SideFX Labs additionally uses the following third party libraries:

Third-Party Tool Version License VFX Platform Compliant
Dem Bones master BSD 3-Clause License N/A
GoZ (closed source) N/A
Instant Meshes master BSD 3-Clause License N/A
Substance by Adobe (closed source) N/A

Houdini Build Configuration:

Third-Party Tool Version VFX Platform Compliant
gcc (Linux only) 11.2.1 Yes
glibc (Linux only) 2.28 Yes
Minimum Deployment Target (macOS only) 10.15 Yes
Visual Studio (Windows only) 2022 Yes
Windows SDK (Windows only) 10 Yes
C++ API/SDK C++17 Yes

Houdini 20.0

Getting started

Using Houdini

  • Geometry

    How Houdini represents geometry and how to create and edit it.

  • Copying and instancing

    How to use copies (real geometry) and instances (loaded or created at render time).

  • Animation

    How to create and keyframe animation in Houdini.

  • Digital assets

    Digital assets let you create reusable nodes and tools from existing networks.

  • Import and export

    How to get scene, object, and other data in and out of Houdini.

  • Executing tasks with PDG/TOPs

    How to define dependencies and schedule tasks using TOP networks.

  • MPlay viewer

    Using Houdini’s stand-alone image viewer.

Character FX

  • Character

    How to rig and animate characters in Houdini.

  • Crowd simulations

    How to create and simulate crowds of characters in Houdini.

  • Muscles and tissue

    How to create and simulate muscles, tissue, and skin in Houdini.

  • Hair and fur

    How to create, style, and add dynamics to hair and fur.

  • Feathers

    How to create highly realistic and detailed feathers for your characters.

Dynamics

  • Dynamics

    How to use Houdini’s dynamics networks to create simulations.

  • Vellum

    Vellum uses a Position Based Dynamics approach to cloth, hair, grains, fluids, and softbody objects.

  • Pyro

    How to simulate smoke, fire, and explosions.

  • Fluids

    How to set up fluid and ocean simulations.

  • Oceans and water surfaces

    How to set up ocean and water surface simulations.

  • Destruction

    How to break different types of materials.

  • Grains

    How to simulate grainy materials (such as sand).

  • Particles

    How to create particle simulations.

  • Finite elements

    How to create and simulate deformable objects

Nodes

  • OBJ - Object nodes

    Object nodes represent objects in the scene, such as character parts, geometry objects, lights, cameras, and so on.

  • SOP - Geometry nodes

    Geometry nodes live inside Geo objects and generate geometry.

  • DOP - Dynamics nodes

    Dynamics nodes set up the conditions and rules for dynamics simulations.

  • VOP - Shader nodes

    VOP nodes let you define a program (such as a shader) by connecting nodes together. Houdini then compiles the node network into executable VEX code.

  • LOP - USD nodes

    LOP nodes generate USD describing characters, props, lighting, and rendering.

  • ROP - Render nodes

    Render nodes either render the scene or set up render dependency networks.

  • CHOP - Channel nodes

    Channel nodes create, filter, and manipulate channel data.

  • COP2 - Compositing nodes

    Composite nodes create, filter, and manipulate image data.

  • TOP - Task nodes

    TOP nodes define a workflow where data is fed into the network, turned into work items and manipulated by different nodes. Many nodes represent external processes that can be run on the local machine or a server farm.

  • APEX - APEX nodes

Lighting, rendering, and compositing

  • Solaris

    Solaris is the umbrella name for Houdini’s scene building, layout, lighting, and rendering tools based on the Universal Scene Description (USD) framework.

  • Rendering

    How to render images and animation from the 3D scene.

  • HQueue

    HQueue is Houdini’s free distributed job scheduling system.

  • Materials

    How to assign materials and create custom materials for shading.

  • Compositing

    Houdini’s compositing networks let you create and manipulate images such as renders.

Reference

  • Menus

    Explains each of the items in the main menus.

  • Viewers

    Viewer pane types.

  • Panes

    Documents the options in various panes.

  • Windows

    Documents the options in various user interface windows.

  • Stand-alone utilities

    Houdini includes a large number of useful command-line utility programs.

  • APIs

    Lists all the reference documentation for the ways you can program Houdini.

  • Python scripting

    How to script Houdini using Python and the Houdini Object Model.

  • Expression functions

    Expression functions let you compute the value of parameters.

  • HScript commands

    HScript is Houdini’s legacy scripting language.

  • VEX

    VEX is a high-performance expression language used in many places in Houdini, such as writing shaders.

  • Properties

    Properties let you set up flexible and powerful hierarchies of rendering, shading, lighting, and camera parameters.

  • Galleries

    Pre-made materials included with Houdini.

  • Houdini packages

    How to write and combine multiple environment variable definition files for different plug-ins, tools, and add-ons.

  • Houdini Engine

    Documents the Houdini Engine C, Python APIs, and Houdini Engine plugins

  • hwebserver

    Functions and classes for running a web server inside a graphical or non-graphical Houdini session.