Deborah R. Fowler
Houdini Terminology
Posted Dec 2 2019
Updated on Sept 1 2022
In addition, scratchapixel has some great tips on some of the concepts you will be dealing with such as BRDF, volume rendering, and subsurface scattering.
alembic (.abc) - file format popular for allowing data to go between dcc applications. Supported for examples by Houdini, Maya, and Unreal now. Some motion capture packages still rely on .fbx format
- http://www.deborahrfowler.com/HoudiniResources/Alembic.html
- TIP: when bringing in data
in abc form to Houdini be sure to unpack it if you need to get
to specific pieces, otherwise leave it packed - it is optimal
AOV - "auxiliary or arbitray output variable" is a term accepted in the industry and traditionally in Houdini had been called "Extra Image Planes". Relevant to lighting ie. isolates one part such as specular, or depth.
compression and packaging- of data is a handy way of reducing size or wrapping for storage or sending purposes.
- In video format H264 is a codec often used, various packages
support this including Adobe Media Encoder as well as Handbrake which used
an improved algorithm H264x. Macs also have an app called
compressor. All effectively reduce the size of your file as some
loss (possibly negligible)
- In file formats in Houdini the most recent compression algorithm used for caching is bgeo.sc which is a binary geometry file with Blosc compression algorithm used to reduce size. This workflow is more efficient than its predecessor .gz
- zip and tar ("tape archive") are also
ways of providing a packaging of files. A "tarball" is the
resulting compressed archive - usually a collection of files -
which may have a tar, gzip or bzip extension.
- tar is the command used to retrieve or create a tarball. tar -z uses gzipped files (.gz)
- to "un tar" or extract the files on linux for example you would use tar -xvf freeglut-3.0.0.tar,gz
- on windows you often use .zip. Create by using 7zip and
extract by right click select "Extract All"
- zip files are used to pack for less space, similar to gzip. Both mainly use an algorithm called DEFLATE for compression but are differing formats (others can be 7-Zip among others)
- comparison
of file archivers on wiki
Contexts - It is important to know that Houdini works in contexts. The latest being LOPS (Lighting Operators) which is listed separately on this page. Each one of these have contextual nodes and these networks can live in other contexts inside for example a sopnet, dopnet etc. These include but are not limited to:
COPs - Compositing Operators
CHOPs - Channel Operators
DOPs - Dynamic Operators - different types of solvers can be used inside a dop network and are dop operators for example
POPs - Particle Operators
ROPs - Render Operators
SOPs - Surface Operators (where you likely will spend much of your time)
SHOPs - Shader Operators (being phased out in favor of the label MAT for materials)
TOPs - Task Operators (related to PDG - Procedural Dependency Graph)
cpu - central processing unit - main processor and is the electronic circuitry that executes basic instructions such as arithmetic and logical operations. Modern CPU are microprocessors.
dcc - digital content creation
dynamics - in houdini dynamic networks are used to create simulations. The fundamental requirements are simulation objects (proxy), solvers and forces. NEVER render a dopnet.
gpu - graphics process unit - accelerates the creation of images in a frame buffer for display - tend to be efficient for cg and image processing (can be in the video card or embedded on the motherboard). Dedicated to graphics manipulation.
fbx - file format used to allow data (usually animation) to go between dcc (digital content creation) packages. It is an acronym for filmbox and is now owned by Autodesk. It was developed by Kaydara (a Canadian company and used for motion capture). Applications like Vicon Shogun and Motion builder still use fbx, but many dcc packages now recommend alembic (abc) workflow.
gui - graphics user interface - the tool interface that a user interacts with
hydra delegate - are part of Pixar's USD structure (scene descriptor) and hydra allows for viewport rendering with a consistent render (ie. karma in Houdini 18)
implicit - meaning implied. This is a term used for many things included surface descriptions or loops for example. It is implied.
- Loops: in the context of Houdini point wrangles nodes could be considered implicit loops, as could copy nodes. This is as opposed to an explicit loop which would be required to get looping behavior in a point wrangle node set to details only.
- Surfaces - an implicit surface is a way of defining a surface in Euclidean space with F(x,y,z) = 0 and differs from a parametric surface
- for a more detailed overview see https://www.cs.princeton.edu/courses/archive/spr07/cos426/lectures/surface.pdf
installers -
- exe on Windows used to install by running an exe file.
It is an executable file. They sometimes reference dll
files.
- pip - Occasionally for Python you may run into a whl file (example of using pip install for Pillow/PIL in python)
- yum (Yellowdog Updater, Modified) is open source linux utility for updating and package installation for rpm systems (redhat package manager)
karma - new to H18 cpu-render to replace mantra (as of
18.0.287 mantra still exists). Viewport becomes your renderview,
and you use a karma node with "save to disk" to render your scene
inside a lop network context (using USD). Note that now you must
create your render folder.
- anticipated to be gpu in Houdini 18.5
LOPs - to be able to set up your scene in USD format to use Karma, you will use a lops network.It is a way to organize your entire scene. Click here for more info
microsolver - when you are adding data to a simulation, the node bringing that data in is referred to as a microsolver, such as a custom velocity field, or a gas advect field
- https://ceyhankapusuz.com/2017/01/09/houdini-micro-solvers-1/
- https://nccastaff.bournemouth.ac.uk/jmacey/MastersProjects/MSc09/Claes/thesis/PeterClaesThesis.pdf
openVDB - an efficient method of representing volumes developed by DreamWorks Animation. It uses a hierarchical data structure to make sparse volumetric data more efficient.
packed primitives - a houdini construct to more efficiently deal with geometry. Packed geometry makes it more efficient, faster, less memory. The packed piece makes it into an object entity that has orientation and location, you can use the pack and unpacked. It is like getting instancing for free.
RBD - rigid body dynamics - a type of solver for a simulation using rigid bodys. The most popular algorithm for solution is the bullet solver due to its speed.
simulation - is an imitation of a situation or process. In Houdini simulations are controlled in dynamics networks.
solver - an algorithm to replicate a simulation. In Houdini it typically is a node that processes a simulation object, under forces, based on a algorithm such as Rigid Body Dynamics (commonly the bullet solver), Flip, Vellum, etc.
USD - no, not US dollar, but "Universal Scene Description" developed by Pixar. A toolset for reading, writing, editing and previewing 3D data. It is "stackable" in non-destructive layers.
Hydra is an API for generating an image from a USD scene. USD consists of C++ libraries with Python bindings for scripting.
For more information click here
Vex - an internal language for Houdini, originally developed for shader writing (similar to rsl, syntax C-like) but used more broadly. In Houdini 13 the introduction of wrangle nodes with vex snippets made custom nodes easy. An excellent way to use a little bit of code to gain more power. For more information click here
Vops - the node based pictorial equivalent of Vex using code blocks (similar to Unreal's blueprint). Sample file here
voronoi diagram - in 2D, divides up a plane into regions closest to a given point (points are called sites, seeds, generators, the areas or regions are called cells (diagram below)
- in
computer graphics this concept is extended to 3D to create a
voronoi fracture (exploded view in diagram on the left)
- many other
applications of voronoi diagrams can be found in natural
sciences, engineering, health, etc. For example the pattern on a
giraffe, dried mud cracks
viewport
Solaris - Houdini's tool to create and edit USD. A network context called LOPs for creating layout, lighting, rendering. Click here for more info