What’s new in Houdini 9: Rendering
Houdini 9 features numerous exciting improvements to mantra and rendering in general.
Physically based rendering
Physically based rendering uses physically accurate simulations of light emission and transmission to simulate the lighting in a scene. It lets you create extremely realistic images at little cost. See physically based rendering.
Materials
You can now encapsulate multiple shaders (such as a surface shader, a displacement shader, and a properties shader) inside a material node at the SHOP level.
Houdini ships with a gallery of materials available in the material palette. The material palette is in a tab behind the network editor in the default pane layout.
See
materials for more information.
Properties
Properties are rendering controls you can attach to the render driver, camera, lights, objects, and primitives, with properties on lower-level entities (such as per-object) overriding properties defined higher up (such as on the camera). This gives you incredible flexibility to define high-level defaults and then override them in specific cases.
See properties for more information.
Note that all command line options to mantra (except -H and -P) now have property equivalents, so you can add them to the driver node instead of specifying them on the command line.
Multi-segment motion blur
This lets you sub-sample blurred motion within a frame, giving more accurate blur for fast-moving objects.
Open the parameter editor for the object you want to blur.
On the Properties tab, click Sampling.
Transform time samples The number of times mantra samples the position of the object for each frame. Increase this for more accurate sub-frame blurring. A value of
2takes one additional sample in the middle of the frame. A value of3takes two additional samples during the frame, and so on.Geometry velocity blur If the
velocityattribute is present on the object’s geometry, mantra uses it to control the blurring.Geometry time samples The number of times mantra samples the geometry of the object for each frame. Whereas Transform time samples controls the sampling of the object’s position, this controls the sampling of the object’s shape/deformation.
Increase this for more accurate sub-frame blurring. A value of
2takes one additional sample in the middle of the frame. A value of3takes two additional samples during the frame, and so on.
For more information, see the
Motion Blur rendering help.
Volume rendering
The renderer supports shading and rendering the new volume geometry type and direct rendering of i3d (3d texture) volume files, or rendering metaballs as volume primitives.
Multi-threaded rendering
mantra now supports multi-threading for faster rendering on multiprocessor/multicore machines. Multi-threading can provide large speed gains for compute-intensive renders (such as scenes with complex lighting, shading, raytracing, etc.), and less speed-up for disk-intensive (large texture images) or memory-intensive (huge geometry) renders.
On the Mantra render output driver node, click the Properties tab, then click the Render tab.
Increase the Thread count to have mantra render in multiple threads.
For more information, see the Render Quality and Performance help.
Support for creased subdivision surfaces
The renderer now supports the creaseweight attribute on polygons to render them as creased subdivision surfaces.
Subdivision creases make it possible to selectively sharpen some edges during the subdivision process. To do this, you need to create a
Crease surface node. In the parameter editor, specify the group of edges to crease and the crease weight.
If you want to use the
Subdivide SOP to create subdivision surfaces compatible with this feature, turn on the Mantra-compatible Subdivide checkbox on the Subdivide node.
Finer control of micropolygon dicing and other performance tweaks
New low-level options give you more control over how the micropolygon renderer “dices” up scene polygons into micropolygons for rendering.
In previous versions of mantra, the renderer diced up polygons according to the XY raster grid of the output image. The new options let the Z size of the polygon influence the dicing algorithm. This can give more accurate results for displaced surfaces that are viewed edge-on by the camera, but can create more micropolygons which slows down the render.
The dicing control properties are not available by default. You must use the properties interface to add them to the render output driver, camera, or object. See properties for more information. The dicing properties are under mantra9.0/Dicing. Some of these options may be available by default in a future build of Houdini 9.
The dicing properties have similar controls for scanline dicing (for the micropolygon scanline renderer) and ray sampling (for the raytracer).
| Scanline measuring |
| ||||||
| Z importance | Ratio of Z-size to raster size. Turn this up for better detail on displaced surfaces viewed edge-on by the camera. | ||||||
| Ray Measuring/Ray Z importance | Same as Scanline measuring, but for raytracing. The default for Z importance is 1 for raytracing instead of 0. | ||||||
| Dicing flatness | Normally the dicer tries to represent flat surfaces with fewer polygons. Turn this option down for more accurate (less optimized) flat surfaces. | ||||||
| Motion factor | Increasing values reduce the amount of dicing for fast-moving objects, based on the theory that the objects are moving so fast the audience can’t perceive the added detail anyway. If you want to try this option, start at 1 and render the object to see how the value affects it. If you lose too much detail, decrease it back toward 0. | ||||||
| Ray predicing | This optimization caches raytracing information too speed up raytracing of diced surfaces (for example subdivision surfaces) at the cost of using more memory. | ||||||
| Re-dicing | When displacement shaders perform extreme displacement of surfaces, it is possible to bend micro-polygons significantly out of shape. Turning on re-dicing will force mantra to re-dice displacement shaded surfaces to produce a more regular mesh. |
Procedural shaders
Procedural shaders call a program to output replace the object they're shading with their own data. Procedural shaders were available in previous version of Houdini, but Houdini 9 includes a few new, very useful shaders. These shaders begin with Mantra in the SHOP list.
See
procedural shaders for more information.
Improved performance
Houdini 9
mantra features greatly improved performance when rendering particle systems directly.
SOHO
Communication with renderers is now performed through the SOHO Python bindings. Evaluation of rendering properties is now generalized and specialized.
The SOHO interface is used to send geometry, object transforms, and rendering properties to a renderer. Each supported renderer has a set of pre-defined rendering properties. If an object has any of these properties defined as spare parameters, its value will be sent to the renderer.
There are a set of pre-defined rendering parameters which can be added to objects (or materials) using the “Edit Rendering Parameters” interface. There is a one to one mapping of these parameters from the Houdini interface to the renderer’s properties.
SOHO uses the new Material workflow to process shaders and rendering properties.
