Re: [rendering] Bent Normals

Date : Fri, 08 Feb 2008 10:05:53 +0000
To : XSI(at)Softimage.COM
From : Amaan Akram <xsilist(at)warpedspace.org>
Subject : Re: [rendering] Bent Normals
Hi Guillaume,

Thanks for the reply. I see what you are saying--I checked the output values (stuck some math nodes in and saw the rendered result) and they are clamped indeed.

cheers!
Amaan

guillaume laforge wrote:
Hi Amaan

>I think the AO node is adding 0.5 to all three XYZ components before
>sending the output to a Vector2Colour node. The question is, why is 0.5
> being added?

I guess it is the way to store negative values of the bent normal vector in the rgb space. If you render a bent normal "as is" you will clamp the -x and -z values to zero.

Cheers

Guillaume Laforge


On Feb 7, 2008 4:44 PM, Amaan Akram <xsilist(at)warpedspace.org> wrote:
Hello everyone,

I am just trying to get my head around bent normals in Mental Ray --
following is my (mis?)understanding of what they are (please correct me
if I am wrong)

-a bent normal is a direction vector that is calculated by taking an
average of all the un-occluded samples fired from around the surface
normal of an intersection point

-for completely un-occluded areas, a bent normal is the same as the
surface normal

Based on the above understanding, I run two tests

Test case 1
Take a default primitive grid, plug a Vector State node straight in to
the Surface port of the Material node and set the Vector State to
"Normal Vector"

Test case 2
Take a default primitive grid, plug an Ambient occlusion node straight
in to the Surface port of the Material node and set the ambient
occlusion output mode to "Return Bent Normals (World Space)"


According to my understanding of bent normals, both the above test cases
should produce the exact same result--but they don't. The RGB output for
the shader in both test cases should be:
R: 0
G: 255
B: 0

The above mentioned result is the output of Test Case 1 (with Vector
State node), but...

in Test Case 2, the RGB output is:
R: 127
G: 255
B: 127


I think the AO node is adding 0.5 to all three XYZ components before
sending the output to a Vector2Colour node. The question is, why is 0.5
being added?

Thanks
Amaan
========================================

This e-mail (and any attachments) is confidential and may contain personal
views which are not the views of Men-from-Mars unless specifically stated.

If you have received it in error, please delete it from your system. Do not
use, copy or disclose the information in any way nor act in reliance on it
and notify the sender immediately.
---
Unsubscribe? Mail Majordomo(at)Softimage.COM with the following text in body:
unsubscribe xsi



--
Guillaume Laforge

======================================== This e-mail (and any attachments) is confidential and may contain personal views which are not the views of Men-from-Mars unless specifically stated. If you have received it in error, please delete it from your system. Do not use, copy or disclose the information in any way nor act in reliance on it and notify the sender immediately.

Search the XSI List archives here or use the advanced search form to search across mailing lists. Searching help is available.
This site supposedly brought to you by Benjamin Grosser and the Imaging Technology Group.