-
Notifications
You must be signed in to change notification settings - Fork 43
CrossBounce Simulation
The CrossBounce light simulation tool creates a Maya scene that uses Mental Ray Final Gather or IBL Light Emission to compute hemispherical light pollution. This tool is designed to help a fulldome show producer understand and correct their pre-rendered domemaster formatted media so they can compensate for the real-world effects of light scattering across the curved screen in a fulldome theater space.
The following illustration should help explain the crossbounce light problem to anyone who is new to the fulldome theater projection environment.
On the left is an original 180 degree angular fisheye "domemaster" image. A domemaster frame is the most common format used by fulldome show producers when they prepare graphics and animations that will be displayed in a fulldome theater or a digital planetarium.
In the middle is a CrossBounce tool simulated image of the light pollution that happens from projected light bouncing across from the sides of the curved theater screen. This crossbounce light increases the ambient illumination in the scene and robs a fulldome image of it's contrast.
On the right is a Photoshop composite image that adds the crossbounce light pollution rendering on top of the original domemaster frame. The right image shows a worst-case scenario of what your imagery will look like after it is projected in a fulldome theater. As long as fulldome theaters are using video projectors to display imagery on a hemispherical screen there will be some amount of crossbounce light pollution present.
This is the first version of the CrossBounce tool. You can use it to help simulate the light pollution contribution that will be present in your "final" theatrically projected fulldome imagery.
You have two light transport simulation options at this point - you can select either mental ray Final Gathering or the mental ray IBL node's Environment Lighting system in the Maya Render Settings window.
In the future I hope to add more options to the CrossBounce Simulation Tool so it would be possible to render the contribution of the light bouncing from the floor, walls, and seating areas of the fulldome theater into the computed simulation along with screen gain, and dome tilt options.
To make this happen I need your help and the combined assistance of the fulldome theater sites and the fulldome theater system integrators to provide documentation and photos of the most popular theater designs and layouts. Only with this data will it be possible to add unidirectional and omnidirectional theater presets to the CrossBounce tool and have a truly accurate crossbounce simulation.
If you are interested in helping create a better open source CrossBounce light simulation toolset please contact the developer, Andrew Hazelden, by email: andrew@andrewhazelden.com
Right now I need access to photos or panoramas of your fulldome theater environment, help with calibrating the CrossBounce simulation output compared to your dome theater's real projection environment, and any documentation you can provide like simple sketches of your theater layout with the seat count and seat positions, dome size, dome tilt, screen gain, and projector layouts. Together we can improve the quality of the fulldome experience by creating a tool that models the lighting environment in today's fulldome theaters.
Step 1. Download and install the Domemaster3D shader (version 1.6 alpha 7 or higher):
https://github.com/zicher3d-org/domemaster-stereo-shader
Step 2. Start Maya and click the "xB" CrossBounce icon in the Domemaster3D shelf.
Step 4. When the script starts you will be asked if you want to add a circular alpha mask shading network to the fulldome imagery you are loading. This will matte out any writing or captions that might exist around the perimeter of a domemaster frame.
Choosing "Yes" or "No" in the Fulldome IBL Creation dialog is fine if you are simply using the sample image. The "fulldome_2K.jpg
" image is used as the starting source texture for the FulldomeIBL sim and it is also loaded for reference as a "kept image" in the Maya render view window.
The default image shows a fulldome ocean at sunset and is stored in the Domemaster3D sourceimages folder:
C:\Program Files\Domemaster3D\sourceimages\fulldome_2K.jpg
When the CrossBounce script finishes running, the newly created fulldome domeAFL_FOV camera is snapshoted automatically as the current render view camera. This means the first time you hit render in the render view window you will be looking through the correct camera.
The Domemaster3D shader's FulldomeIBL tool is used by the CrossBounce script to set up the domemaster formatted image sequence loading attributes. A remapColor low dynamic range to high dynamic range image conversion preset is used to enhance the IBL based light simulation from the sample 8-bit per channel "fulldome_2K.jpg
" image. If you are using EXR footage you should adjust the remapColor settings to compensate for the real high dynamic range lighting data present in your source images.
Step 5. After you run the CrossBounce simulation shelf tool, you can link in your own still fulldome images, or image sequences by opening the Hypershade's Textures Tab and updating the texture map loaded by the mentalrayTexture node named dome_map_mentalrayTexture1
.
Since the CrossBounce script uses the FulldomeIBL tool from the Domemaster3D Shader to handle loading the media, you should render image sequences using single frame sized render job packets in your render farm software. This will tell mental ray to update the image sequence texture on each frame of the animation.
Note: The mentalrayTexture node uses the Extra Attributes section in the Attribute Editor window to control the image sequence loading options.
Step 6. If you click the "render" clapboard icon in the Render View you will see mental ray start to generate a simulated crossbounce light pollution image. This rendered image shows only the diffuse scattered light in the dome theater and doesn't composite the crossbounce light data back into the original domemaster plate footage.
Tip: If you want a quick way to save the original Maya Render View rendered image you rendered in step 5 you can look in your current project's images directory and open up the "tmp" folder. A fast way to open the current Maya project's images directory is with the help of the Domemaster3D shelf's "IMG" button.
Step 7. If you save the rendered frame to your desktop you can composite it over the original image named C:\Program Files\Domemaster3D\sourceimages\fulldome_2K.jpg
in Photoshop or After Effects by using the Linear Dodge (ADD)
transfer mode.
Start by loading the fulldome "background plate" footage in Photoshop. Save this document as a new .psd image so the layers will remain editable in the future.
Then open the CrossBounce rendered lightmap image in Photoshop and scale it to the same size as your original domemaster formatted imagery.
Paste the CrossBounce image into the same file as your background plate. To keep the Photoshop document organized, rename the CrossBounce layer to have a name like "CrossBounce".
Set the CrossBounce layer to be the topmost layer in the Photoshop document and set the layer transfer mode to Linear Dodge (ADD)
in the layer palette. You can adjust the CrossBounce layer opacity to see the effect of a stronger / weaker amount of light pollution.
It is quite surprising when you compare the difference between the raw domemaster footage and a fulldome frame with light pollution added.
If you want to integrate the CrossBounce tool into your own pipeline scripts and tools you can access it from python using the following code:
import domeCamera
reload(domeCamera)
domeCamera.forceMentalRayLoad()
import domeCrossBounce
reload(domeCrossBounce)
domeCrossBounce.createCrossBounce()
If you want to adjust the default settings used in the CrossBounce simulation, you can find the "domeCrossbounce.py
" script on your hard drive at:
C:\Program Files\Domemaster3D\maya\common\scripts\domeCrossBounce.py
Maya has an improved light emission mode in the mental ray ray IBL shape node. This system can sometimes create a cleaner and more accurate CrossBounce Simulation output than Final Gathering if there are small lights in the scene that provide a majority of the illumination.
If you want to explore the Light Emission feature you need to disable final gathering so you don't have two lighting systems active at the same time.
Using the light emission feature also means you need to typically adjust the remapColor node named "dome_remapColor
" in the Hypershade. This is a required step if the CrossBounce rendering looks totally washed out in the render view with Light Emission active. You can try one of the other RemapColor node attribute presets that is used to perform the low dynamic range to high dynamic range conversion.
The Wiki page on Maya Domemaster3D presets has a topic called remapColor that discusses this in more detail.