Home News What’s new in Houdini 9 

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.

  1. Open the parameter editor for the object you want to blur.

  2. 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 2 takes one additional sample in the middle of the frame. A value of 3 takes two additional samples during the frame, and so on.

    Geometry velocity blur

    If the velocity attribute 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 2 takes one additional sample in the middle of the frame. A value of 3 takes 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.

  1. On the Mantra render output driver node, click the Properties tab, then click the Render tab.

  2. 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
Non-raster measuring

The new dicing algorithm, which can use the Z-coordinate to influence the dicing, by the amount specified in the Z-importance parameter (see below).

This is the default, with Z-importance set to 0, which is essentially the same as setting this to Raster space measuring (the old algorithm).

Raster space measuring

The old algorithm, which only uses the XY grid of the output image pixel grid to control the dicing.

Uniform measuring

Dices everything equally, independent of screen space.

This may be useful on a per-object basis if you have an object very close to the camera, and you want to dice it the same as everything else in the image.

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.