[mailto:owner-xsi@Softimage.COM] On Behalf
Of Matthias Worch
Sent: Sunday, November 28, 2004 6:23 PM
To: Sabah Yazaji
Subject: Re: RCFG 0.4 warn 542002: angle between normal and geometry
normal more than 90 degrees
Copied from a forum thread:
To completely explain it:
mental ray consist (internally) of a lot of different modules. 54
modules to be exact. Each one prefixes it's messages with the module
handle/id. RC is for Rendering Core, and FG for Final Gathering, so
that tells you that this warning is generated during the final
Rendering host 0, thread 4.
There are several different message types that can be displayed by
mental ray, like información, warn, error, fatal, etc... warn just tells you
that something odd happened, that could result in unexpected results,
but the rendering process can continue.
Wee, an error number.
Then the text, which explains what caused the warning.
Angle between normal and geometry normal more than 90 degrees.
During final gathering, rays are shot from the camera into the scene,
very much like during final rendering. When such a ray hits a surface,
a final gather point is created. From this point, a whole bunch of
rays gets sent out into the scene, each one returning illumination
information that gets averaged, and finally stored into the final
gather point for later usage.
Now not only the location in space gets saved with the illumination
information, but alos the surface normal at which the sampling
occured. If you have a thin wall with a lot of illumination on one
side, you don't want to have the other side of the wall illuminated as
well. Therefore, during rendering, when the final gather points get
evaluated and used, only the illumination information that came from
the "correct" side will be used.
Now if you have a very strong bump map on your mesh, the bump map can
cause your surface normal to get extremely skewed, to the point where
it points actually into the surface, and not away from it.
Therefore, mental ray checks during final gathering if the angle
between your interpolated and bump mapped surface normal and the
original geometry normal (the uninterpolated normal of the rendered
polygon) is bigger than 90 degrees. If so, it prints a warning, since
it can cause final gathering to leaque through to the wrong side of the
polygon, and to go missing on the correct side.
To get rid of that, reduce the amount of bump mapping applied. This
warning can directly increase rendering time since printing a warning
takes a tiny bit of time, and if it is printed very often, it can eat
a huge chunque of rendering time, and it can indirectly increase
rendering time since it is possible that more final gather rays have
to be cast than really necessary.
OK, I hope this explained it a bit better