Houdini (software)
Encyclopedia
Houdini is a high-end 3D animation package developed by Side Effects Software which is headquartered in Toronto
, Canada
. It is a rewrite of the PRISMS ecosystem of standalone tools. Its chief distinction from other packages is that it has been designed as a purely procedural
environment. A version of the product, called Houdini Apprentice, is available as a free download for non-commercial use.
Houdini is an open-environment and supports a variety of scripting APIs. Python
is increasingly the scripting language of choice for the package, and is intended to substitute its original CShell-like scripting language, Hscript. However, any major scripting languages which support socket communication can interface with Houdini.
or an Nvidia Quadro
graphics card which is more stringent than the requirements for most 3D software. Due to this difference in function from typical 3D software, the CPU requirements are far more open. In addition, Houdini also requires a 3 button mouse (scroll wheel optional) and recommends a wacom tablet for painting tools. Houdini runs on Windows, Mac and Linux.
throughout: for textures
, shader
s, particles
, "channel data" (data used to drive animation), rendering
and compositing
.
Houdini's operator-based structure is divided into several main groups:
Operators are connected together in networks. Data flows through, manipulated by each operator in turn. This data could represent 3D geometry
, bitmap
images, particles, dynamics
, shader
algorithm
s, animation
, audio
, or a combination of these. This node graph architecture
is similar to that employed in node-based compositors such as Shake
or Nuke
.
Complex networks can be grouped into a single meta-operator node which behaves like a class definition, and can be instantiated in other networks like any compiled node. In this way users can create their own sophisticated tools without the need for programming. In this way Houdini can be regarded as a highly interactive visual programming toolkit which makes programming more accessible to artists.
Houdini's set of tools are mostly implemented as operators. This has led to a higher learning curve than other comparable tools. It is one thing to know what all the nodes do - but the key to success with Houdini is understanding how to represent a desired creative outcome as a network of nodes. Successful users are generally familiar with a large repertoire of networks (algorithms) which achieve standard creative outcomes. The overhead involved in acquiring this repertoire of algorithms is offset by the artistic and algorithmic flexibility afforded by access to lower level building blocks with which to configure shot element creation routines. In large productions, the development of a procedural network to solve a specific element creation challenge makes automation trivial. Many studios that use Houdini on large feature effects, and feature animation projects develop libraries of procedures that can be used to automate generation of many of the elements for that film with almost no artist interaction.
Also unique to Houdini is the range of I/O
OPs available to animators, including MIDI devices, raw files or TCP
connections, audio devices (including built-in phoneme
and pitch
detection), mouse
cursor
position, and so on. Of particular note is Houdini's ability to work with audio, including sound and music synthesis and spatial 3D sound processing tools. These operators exist in the context called "CHOPs" for which Side Effects won a Technical Achievement Academy Award in 2002.
VEX (Vector Expression) is one of Houdini's internal languages. It is similar to the RenderMan shading language. Using VEX a user can develop custom SOPs, POPs, shaders, etc. The current implementation of VEX utilizes SIMD
-style processing.
in its scope and application. Micropolygon rendering is supported, allowing high-quality displacement operations as well as traditional scan-line and raytracing modes. Shaders are scriptable and composed in their VEX language, or by using VOPs; their node-based interface to programming VEX. Mantra (as does Houdini itself) also supports point-clouds, which can be similar in application as brickmaps in Renderman. This allows more complicated light interactions, such as sub-surface scattering and ambient occlusion, to be produced with lower computational overhead. Mantra can perform extremely fast volume rendering
, and also Physically Based Rendering - a technique which attempts to more accurately model the interactions of light.
, a major Disney
feature film as well as the feature animation Ant Bully
.
-generated animation, it was used on rock group Rush
's 30th Year Anniversary Tour to produce dynamic graphics driven directly by the musicians.
Toronto
Toronto is the provincial capital of Ontario and the largest city in Canada. It is located in Southern Ontario on the northwestern shore of Lake Ontario. A relatively modern city, Toronto's history dates back to the late-18th century, when its land was first purchased by the British monarchy from...
, Canada
Canada
Canada is a North American country consisting of ten provinces and three territories. Located in the northern part of the continent, it extends from the Atlantic Ocean in the east to the Pacific Ocean in the west, and northward into the Arctic Ocean...
. It is a rewrite of the PRISMS ecosystem of standalone tools. Its chief distinction from other packages is that it has been designed as a purely procedural
Procedural generation
Procedural generation is a widely used term in the production of media; it refers to content generated algorithmically rather than manually. Often, this means creating content on the fly rather than prior to distribution...
environment. A version of the product, called Houdini Apprentice, is available as a free download for non-commercial use.
Features
Houdini covers all the major areas of 3D production, including:- Modeling - All standard geometry entities including Polygons, (Hierarchical) NURBs/Bézier Curves/Patches & Trims, Metaballs
- Animation - Keyframed animation and raw channel manipulation (CHOPs), motion capture support
- Particles
- Dynamics - Rigid Body Dynamics, Computational Fluid Dynamics, Wire (Curve) Dynamics, Cloth Simulation
- Lighting - node-based shader authoring, lighting and re-lighting in an IPR viewer
- Rendering - supporting a variety of renderers; besides Mantra: Renderman, mental ray and various 3rd party support
- Volumetrics - generations/population/manipulation/rendering of scalar- and vectorfields
- Compositing - full compositor of floating-point deep (layered) images
- Plugin Development - development libraries for user extensibility
Houdini is an open-environment and supports a variety of scripting APIs. Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
is increasingly the scripting language of choice for the package, and is intended to substitute its original CShell-like scripting language, Hscript. However, any major scripting languages which support socket communication can interface with Houdini.
Requirements
Houdini tasks the Graphics Processing Unit (GPU) rather than the Central Processing Unit (CPU) which is not typical to most 3D apps. As a result, Houdini specifies the requirements as an ATI FireProATI FireGL
The ATI FireGL range of video cards, renamed to FirePro 3D in late 2008, is the series specifically for CAD and DCC software, usually found in workstations.-History:...
or an Nvidia Quadro
NVIDIA Quadro
The Nvidia Quadro series of AGP, PCI, and PCI Express graphics cards comes from the NVIDIA Corporation. Their designers aimed to accelerate CAD and DCC , and the cards are usually featured in workstations....
graphics card which is more stringent than the requirements for most 3D software. Due to this difference in function from typical 3D software, the CPU requirements are far more open. In addition, Houdini also requires a 3 button mouse (scroll wheel optional) and recommends a wacom tablet for painting tools. Houdini runs on Windows, Mac and Linux.
Operators
Houdini's procedural nature is found in its operators - digital assets are generally constructed by connecting sequences of operations (or OPs). This proceduralism has several advantages: it allows users to construct highly detailed geometric or organic objects in comparatively very few steps compared to other packages; it enables and encourages non-linear development; and new operators can be created in terms of existing operators, a flexible alternative to non-procedural scripting often relied on in other packages for customisation. Houdini uses this procedural paradigmParadigm
The word paradigm has been used in science to describe distinct concepts. It comes from Greek "παράδειγμα" , "pattern, example, sample" from the verb "παραδείκνυμι" , "exhibit, represent, expose" and that from "παρά" , "beside, beyond" + "δείκνυμι" , "to show, to point out".The original Greek...
throughout: for textures
Texture mapping
Texture mapping is a method for adding detail, surface texture , or color to a computer-generated graphic or 3D model. Its application to 3D graphics was pioneered by Dr Edwin Catmull in his Ph.D. thesis of 1974.-Texture mapping:...
, shader
Shader
In the field of computer graphics, a shader is a computer program that is used primarily to calculate rendering effects on graphics hardware with a high degree of flexibility...
s, particles
Particle system
The term particle system refers to a computer graphics technique to simulate certain fuzzy phenomena, which are otherwise very hard to reproduce with conventional rendering techniques...
, "channel data" (data used to drive animation), rendering
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...
and compositing
Compositing
Compositing is the combining of visual elements from separate sources into single images, often to create the illusion that all those elements are parts of the same scene. Live-action shooting for compositing is variously called "chroma key", "blue screen", "green screen" and other names. Today,...
.
Houdini's operator-based structure is divided into several main groups:
- OBJs - nodes that pass transform information (Traditionally these contain SOPs.)
- SOPs - surface operators - for procedural modelling.
- POPs - particleParticle systemThe term particle system refers to a computer graphics technique to simulate certain fuzzy phenomena, which are otherwise very hard to reproduce with conventional rendering techniques...
simulation operators. - CHOPs - channel operators - for procedural animation and audio manipulation.
- COPs - composite operators.
- DOPs - dynamic operators - for dynamic simulations for fluids, cloth, rigid body interaction etc.
- SHOPs - Shading Operator - for representing a dozen or more different shading types for several different renderers.
- ROPs - renderRendering (computer graphics)Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...
operators - for building networks to represent different render passes and render dependencies. - VOPs - VEX operators - for building nodes of any of the above types using a highly optimized SIMD architecture.
Operators are connected together in networks. Data flows through, manipulated by each operator in turn. This data could represent 3D geometry
Geometry
Geometry arose as the field of knowledge dealing with spatial relationships. Geometry was one of the two fields of pre-modern mathematics, the other being the study of numbers ....
, bitmap
Bitmap
In computer graphics, a bitmap or pixmap is a type of memory organization or image file format used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped array of bits. Now, along with pixmap, it commonly refers to...
images, particles, dynamics
Dynamics (mechanics)
In the field of physics, the study of the causes of motion and changes in motion is dynamics. In other words the study of forces and why objects are in motion. Dynamics includes the study of the effect of torques on motion...
, shader
Shader
In the field of computer graphics, a shader is a computer program that is used primarily to calculate rendering effects on graphics hardware with a high degree of flexibility...
algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
s, animation
Animation
Animation is the rapid display of a sequence of images of 2-D or 3-D artwork or model positions in order to create an illusion of movement. The effect is an optical illusion of motion due to the phenomenon of persistence of vision, and can be created and demonstrated in several ways...
, audio
Sound
Sound is a mechanical wave that is an oscillation of pressure transmitted through a solid, liquid, or gas, composed of frequencies within the range of hearing and of a level sufficiently strong to be heard, or the sensation stimulated in organs of hearing by such vibrations.-Propagation of...
, or a combination of these. This node graph architecture
Node graph architecture
Node graph architecture is a type of software design which builds around modular node components which can be connected together to form a graph. Often the software's underlying node graph architecture is also exposed to the end user as a 2 dimensional visualization of the node graph...
is similar to that employed in node-based compositors such as Shake
Shake (software)
Shake is a discontinued image compositing package used in the post-production industry. Shake was widely used in visual effects and digital compositing for film, HD and commercials. Shake exposes its node graph architecture graphically. It enables complex image processing sequences to be designed...
or Nuke
Nuke (software)
Nuke is a node-based compositor produced by The Foundry, and used for film and television post-production. Nuke is cross-platform, and is available for Microsoft Windows, Mac OS X, and Linux...
.
Complex networks can be grouped into a single meta-operator node which behaves like a class definition, and can be instantiated in other networks like any compiled node. In this way users can create their own sophisticated tools without the need for programming. In this way Houdini can be regarded as a highly interactive visual programming toolkit which makes programming more accessible to artists.
Houdini's set of tools are mostly implemented as operators. This has led to a higher learning curve than other comparable tools. It is one thing to know what all the nodes do - but the key to success with Houdini is understanding how to represent a desired creative outcome as a network of nodes. Successful users are generally familiar with a large repertoire of networks (algorithms) which achieve standard creative outcomes. The overhead involved in acquiring this repertoire of algorithms is offset by the artistic and algorithmic flexibility afforded by access to lower level building blocks with which to configure shot element creation routines. In large productions, the development of a procedural network to solve a specific element creation challenge makes automation trivial. Many studios that use Houdini on large feature effects, and feature animation projects develop libraries of procedures that can be used to automate generation of many of the elements for that film with almost no artist interaction.
Also unique to Houdini is the range of I/O
Input/output
In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world, possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...
OPs available to animators, including MIDI devices, raw files or TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...
connections, audio devices (including built-in phoneme
Phoneme
In a language or dialect, a phoneme is the smallest segmental unit of sound employed to form meaningful contrasts between utterances....
and pitch
Pitch (music)
Pitch is an auditory perceptual property that allows the ordering of sounds on a frequency-related scale.Pitches are compared as "higher" and "lower" in the sense associated with musical melodies,...
detection), mouse
Mouse (computing)
In computing, a mouse is a pointing device that functions by detecting two-dimensional motion relative to its supporting surface. Physically, a mouse consists of an object held under one of the user's hands, with one or more buttons...
cursor
Cursor (computers)
In computing, a cursor is an indicator used to show the position on a computer monitor or other display device that will respond to input from a text input or pointing device. The flashing text cursor may be referred to as a caret in some cases...
position, and so on. Of particular note is Houdini's ability to work with audio, including sound and music synthesis and spatial 3D sound processing tools. These operators exist in the context called "CHOPs" for which Side Effects won a Technical Achievement Academy Award in 2002.
VEX (Vector Expression) is one of Houdini's internal languages. It is similar to the RenderMan shading language. Using VEX a user can develop custom SOPs, POPs, shaders, etc. The current implementation of VEX utilizes SIMD
SIMD
Single instruction, multiple data , is a class of parallel computers in Flynn's taxonomy. It describes computers with multiple processing elements that perform the same operation on multiple data simultaneously...
-style processing.
Rendering
Houdini is bundled with a production-class renderer, Mantra, which has many similarities to PhotoRealistic RenderManPhotoRealistic RenderMan
PhotoRealistic RenderMan, or PRMan for short, is a proprietary photorealistic RenderMan-compliant renderer.It primarily uses the Reyes algorithm but is also fully capable of doing ray tracing and global illumination....
in its scope and application. Micropolygon rendering is supported, allowing high-quality displacement operations as well as traditional scan-line and raytracing modes. Shaders are scriptable and composed in their VEX language, or by using VOPs; their node-based interface to programming VEX. Mantra (as does Houdini itself) also supports point-clouds, which can be similar in application as brickmaps in Renderman. This allows more complicated light interactions, such as sub-surface scattering and ambient occlusion, to be produced with lower computational overhead. Mantra can perform extremely fast volume rendering
Volume rendering
In scientific visualization and computer graphics, volume rendering is a set of techniques used to display a 2D projection of a 3D discretely sampled data set.A typical 3D data set is a group of 2D slice images acquired by aCT, MRI, or MicroCT scanner....
, and also Physically Based Rendering - a technique which attempts to more accurately model the interactions of light.
Industry reception and use
Historically, Houdini's main strength has been its particle animation system, and its major weakness its unintuitive animation tools. As a result, its use was relegated to special effects. However, in more recent versions these tools have been vastly improved and it has been used in various feature animation productions, such as The WildThe Wild
The Wild is a 2006 computer-animated film directed by Steve "Spaz" Williams, produced by Clint Goldman, assistant produced by Jim Burton and C.O.R.E...
, a major Disney
The Walt Disney Company
The Walt Disney Company is the largest media conglomerate in the world in terms of revenue. Founded on October 16, 1923, by Walt and Roy Disney as the Disney Brothers Cartoon Studio, Walt Disney Productions established itself as a leader in the American animation industry before diversifying into...
feature film as well as the feature animation Ant Bully
The Ant Bully (film)
The Ant Bully is a 2006 American computer-animated film written and directed by John A. Davis based on the 1999 children's book of the same name by John Nickle...
.
TouchDesigner
Derivative Inc. is a spin-off of Side Effects Software that markets a derivative of Houdini called TouchDesigner. Tailored toward real-time OpenGLOpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
-generated animation, it was used on rock group Rush
Rush (band)
Rush is a Canadian rock band formed in August 1968, in the Willowdale neighbourhood of Toronto, Ontario. The band is composed of bassist, keyboardist, and lead vocalist Geddy Lee, guitarist Alex Lifeson, and drummer and lyricist Neil Peart...
's 30th Year Anniversary Tour to produce dynamic graphics driven directly by the musicians.
Version release history
- 11.0 July 27, 2010 http://www.sidefx.com/index.php?option=com_content&task=blogcategory&id=41&Itemid=55
- 10.0 April 16, 2009 http://www.sidefx.com/index.php?option=com_content&task=blogcategory&id=41&Itemid=55
- 9.5: July 17, 2008 http://www.sidefx.com/index.php?option=com_content&task=view&id=1302&Itemid=66
- 9.1: January 30, 2008 http://www.sidefx.com/index.php?option=com_content&task=view&id=1179&Itemid=66
- 9.0: September 20, 2007 http://www.sidefx.com/index.php?option=com_content&task=view&id=903&Itemid=66
- 8.1: June 2006 http://www.sidefx.com/index.php?option=com_content&task=view&id=506&Itemid=66
- 8.0: October 2005 http://www.sidefx.com/index.php?option=com_content&task=view&id=436&Itemid=55
- 7.0: September 2004 http://www.sidefx.com/index.php?option=com_content&task=view&id=23&Itemid=55
- 6.0: May 2003 http://www.sidefx.com/index.php?option=com_content&task=view&id=189&Itemid=55
- 5.5: May 2002 http://www.sidefx.com/index.php?option=com_content&task=view&id=166&Itemid=55
- 5.5: 2002 http://odforce.net/wiki/index.php/WhatIsHoudini%3F#Houdini_Legacy
- 5.0: 2002 http://odforce.net/wiki/index.php/WhatIsHoudini%3F#Houdini_Legacy
- 4.0: 2000 http://odforce.net/wiki/index.php/WhatIsHoudini%3F#Houdini_Legacy
- 3.0: 1999 http://odforce.net/wiki/index.php/WhatIsHoudini%3F#Houdini_Legacy
- 2.5: 1998 http://odforce.net/wiki/index.php/WhatIsHoudini%3F#Houdini_Legacy
- 1.0: 1996 http://odforce.net/wiki/index.php/WhatIsHoudini%3F#Houdini_Legacy
- PRISMS 7.0: <1996 http://odforce.net/wiki/index.php/WhatIsHoudini%3F#Houdini_Legacy
- PRISMS 6.0: <1996 http://odforce.net/wiki/index.php/WhatIsHoudini%3F#Houdini_Legacy
External links
- Side Effects Software, Makers of Houdini
- Derivative Inc., spin-off of Side Effects Software and maker of TouchDesigner.
- odforce - a Houdini artist community site
- 3Daet , A project-based Houdini site built by its users.
- Houdini community page on Facebook
- PRISMS description and screenshots