INFO: Rendering Acceleration Techniques
  
PSS ID Number: Q175831
Article last modified on 11-07-1997
 
IRIX:3.51,3.7; WINNT:3.51,3.7
 
IRIX winnt
 

======================================================================
---------------------------------------------------------------------
The information in this article applies to:
 
 - Softimage 3D for IRIX, versions 3.51, 3.7
 - Softimage 3D for Windows NT, versions 3.51, 3.7
---------------------------------------------------------------------
 
MORE INFORMATION
================
 
Acceleration Techniques
-----------------------
 
BSP Tree and Ray Classification are two different acceleration techniques
that the renderer uses to speed up the ray tracing process. If objects are
not rendering as you would expect, or there are problems in the image, the
acceleration technique does not impact on it.
 
The acceleration technique determines which algorithm mental ray uses to
set up information that is necessary to do the ray tracing faster.
 
BSP is usually (but not always) faster than Ray Classification,
specifically if your scene is under ~200K triangles. An advantage to Ray
Classification is that it uses a constant amount of memory even as your
scene gets larger. If your scene is average size and you have plenty of
memory, it is recommended to use BSP.
 
How BSP Works
-------------
 
BSP builds a tree that can have either "branches" or "leaves." For a given
region of your scene, it divides it in half - two branches. Then it looks
at the number of triangles in each region (leaves). If a leaf has more than
a maximum number of triangles (specified by the 'Max Size' parameter in the
interface), then you get two more branches that divide that part of space
in half again. Again, look at the number of triangles in each leaf. If the
value is below "Max Size," stop dividing, if not, continue to divide until
you reached the "Max Depth" value. "Max Depth" determines how many times
you chop up space (into smaller and smaller bits) until you stop, even if
you have more triangles in your leaf than you want.
 
This is necessary because mental ray uses the tree to determine what object
is hit when it casts a ray. If the number of triangles in your leaves is
very small, then mental ray evaluates the tree. It only considers triangles
in that box and disregards the others (less evaluation results in faster
rendering).
 
Ideally, you want your leaf size as small as possible, but if the computer
was allowed to, it would perform endless subdivisions. The parameter "Max
Depth" prevents this. If endless subdivisions where allowed (subdividing
until every leaf is the size you want), some geometric situations would
cause problems. For example, at the top of a sphere there are many
triangles all meeting at a point; regardless of how many times you divide
space at that point, you will always have the same number of triangles in
your box. Without a "Max Depth" value to stop the subdivision, the computer
would continue to divide to try to get the requested value of triangles in
the box (which is impossible).
 
Your mileage may vary, again playing with the acceleration techniques and
their parameters only affects how fast your scene renders, and how much
memory the renderer needs. They are completely unrelated to image quality
(anti-aliasing, missing polygons, etc.). Rendering the same scene with
different acceleration settings results in exactly the same image. The only
difference is the time it takes to render and how much memory is used.
 
Polygon Rendering Problems
--------------------------
 
If, when you render with the Softimage renderer, the results are fine and
then when you render with mental ray there are problems (flickering,
missing polygons), your model may have a geometry problem such as
overlapping polygons, edges backtracking over themselves, etc.
 
Problems like this do not occur with NURBS or patches because mental ray
performs the polygon conversion itself. For more details on controlling the
surface approximation parameters, refer to documentation on Info > mental
ray.
 
REFERENCES
==========
 
SOFTIMAGE 3D mental ray Programmer's Guide, page 22-23.
 
If you have any questions concerning the information contained in this
article, contact support@softimage.com by e-mail.
 
Additional query words: si si3d si3dren
======================================================================
Keywords          : si si3d si3dren
Version           : IRIX:3.51,3.7; WINNT:3.51,3.7
Platform          : IRIX winnt
Issue type        : kbinfo
=============================================================================
Copyright Microsoft Corporation 1997.