Sunday, 26 September 2010

Rendering: Demystifying the “use fast rasterizer(rapid motion blur)” capabilities

The above image was produced whilst at Glass Canvas. It came directly from 3Ds Max using mental ray; no post work was required.

As this rendering algorithm function is immensely powerful to tackle extreme memory issues related to geometry complexity; numerous users have repeatedly asked me to provide them with an insight into its fundamental capabilities.

It is worth mentioning that there will be a more in-depth discussion with practical examples about this rendering algorithm function, in our next book.

This rendering algorithm by default, doesn’t compute reflections, Global Illumination (i.e.GI), etc.However,there is a BSP in the background to process the reflection rays and/or GI, on demand only. The shadows are computed via shadow maps.

Having the above mentioned functionalities(i.e. reflections;GI,etc) to work seamlessly with this rendering algorithm has been a major hurdle for engineers.

This rendering algorithm processes renders in a similar manner to Renderman from Pixar, and it is fully capable to operate independently.

It rasterizes like a classical graphic card: This process involves projecting triangles onto the screen space, dividing the triangles into the pixel raster and/or subdividing them for sub-sampling of pixels.
The fact that this rendering algorithm discards the triangles of each pixel computed makes it uniquely robust. Especially when processing countless number of triangles.

Why is it not enabled by default?

Although very robust for complex scenes, its primary functionality is to deal with motion blur (i.e. similar to Renderman), which is not a common requirement for most Max users.
In addition, most interior scenes wouldn’t benefit a great deal as GI and reflections take longer to process through this rendering algorithm (i.e. “...BSP in the background to process the reflection rays and/or GI, on demand only...”).

Advantages of the “rapid motion blur” over the classical ray tracing algorithm

The “use fast rasterizer(rapid motion blur)” does the following:

1-Shades once
2-Adds the colour anywhere the triangle/s passes through (motion trajectory) –it essentially smears the colour over the entire image.

The classical ray tracing does the following:

1-Adds the triangle multiply to bsp-like data structures, so it’s visible at different positions where the bsp tree is to be added –It is worth mentioning that there are good optimizations in mental ray.

2-For each pixel (i.e. sample) where a triangle is visible it “calls” the shader/s. This process can easily trigger hundreds of “calls” to a shader ; and if the triangle/s contain reflections;such reflections
will subsequently “hit” further triangles (i.e. when working with complex scenes).
When “hitting” other triangles (i.e. other areas of the scene) their sub bsp trees are also loaded.

In conclusion, the classical ray tracing algorithm "touches” more triangles, and “calls” many more shaders than the “use fast rasterizer(rapid motion blur)” algorithm.However, the classical ray tracing algorithm is often recommended for interiors,if not using motion blur.

The image below benefitted a great deal from the “use fast rasterizer(rapid motion blur)” algorithm.

I hope you have found this post useful.



More tips and Tricks:

Post-production techniques

Tips & tricks for architectural Visualisation: Part 1

Essential tips & tricks for VRay & mental ray

Photorealistic Rendering

Creating Customised IES lights

Realistic materials

Creating a velvet/suede material 




No comments:

Post a Comment