XSI Tutorial
Cubic Environment Map
by Dave Lajoie
davelaj@videotron.ca
davelaj@softimage.com

XSI offers two type of cubic reflection map. First one is to use a singe image and the other one is to use six separate images.
For Cubic6 environment map, it is pretty straight forward to use, but requires to manage 6 different images.
For the Cubic1, all the 6 images needs to be baked into a single image.

Here is how to layout Cubic1 type image map:

Standard cubic1 env map layout used in Renderman:

cubic_template.jpg (55253 bytes)
Click for a larger image


XSI cubic1 env map:

cubic_template_xsi.jpg (122535 bytes)
Click for a larger image



As a demonstration of the result, here is a screen shot of V1.5 used on a reflective sphere using cubic1 xsi environment map:

xsi_cubic_example.jpg (304142 bytes)
Click for a larger image

Here is a reflection map taken from Debevec's personal web pages.
if you move the front/back/left/etc parts in the required xsi cubic env map layout, you will get a perfect reflection map.
http://graphics3.isi.edu/~debevec/StPauls/stpauls-cross.jpg



Here is the edited reflection map


Click for a larger image


and the result:

stpauls_cubic_xsi.jpg (300612 bytes)
Click for a larger image

At this point, pretty sure you have this question for me ;)

Why is mental ray doesn't layout the cubic mapping the same way as Renderman?
Even if the image has large black areas, which causes inefficient memory usage, Renderman never loads the images in memory, but rather image bucket ( tiles ).
Where mental ray will load it entirely in memory, so the Mental Ray environment cubic map layout is better since it requires less memory.
Unless you use MR memory mapped textures. in this case, Mental Ray will only load needed texture scanlines..
Btw, there is nothing that prevents Mental ray to support the Renderman style cubic map, it is just a matter of writting a shader for it ;)

Enjoy!
Dave