Skip to content

Softimage Domemaster3D Install

Andrew Hazelden edited this page Nov 26, 2016 · 7 revisions

Domemaster3D for Softimage

Using Domemaster3D

The domemaster3D lens shader works with the mental ray renderer in Softimage.

Introduction

The Domemaster3D Stereo Lens Shader is a custom mental ray shader that creates a stereoscopic 3D fisheye image. The lens shader provides advanced controls to optimize the viewing experience for stereoscopic dome renderings.

This package also includes the 2D angular fisheye DomeAFL_FOV and DomeAFL_WxH lens shaders, along with a set of 2D and 3D equirectangular/spherical/latlong lens shaders Latlong and latLong_Stereo.

Domemaster3D Toolbar

The Domemaster 3D lens shader works with the Windows and Linux 64-bit versions of Softimage.

This shader is based upon Roberto Ziche's DomeAFL_FOV_Stereo lens shader for 3DSMax and Daniel Ott's Dome_AFL lens shader.

This is the user interface for the Domemaster3d lens shader. The DomeAFL_FOV_Stereo node allows you to render stereoscopic images for use in fulldome productions.

Domemaster3D for Softimage Release History

Version 1.6 - October, 2014

  • Added a "LatLong_Stereo" rendering shader for creating spherical formatted stereoscopic output.

  • Added a S3D Viewer tool for previewing anaglyph stereoscopic 3D comps in the Softimage FX Tree viewer.

  • Updated the Automagic tool

  • Updated the Domemaster3D toolbar

  • Updated the "domeAFL_FOV_Stereo" camera rig and SPDL files

Version 1.4 Beta 4 - March 23, 2014

  • Updated the Starglobe script to add realtime openGL and rendertime polygon subdivision smoothing on the "starry sky" quadsphere mesh.

  • Added a DomeViewer toolbar button that creates a fulldome media viewer in Softimage. You can use the tool to review domemaster angular fisheye images, or video files.

Version 1.4 Beta 3 - March 4, 2014

  • Updated the toolbar scripts to stop Softimage from opening the floating property windows when the python button scripts are launched. This significantly reduces the floating window clutter.

Version 1.4 Beta 2 - March 3, 2014

  • Improved the toolbar with a revised stereo camera rig, and improved starglobe tool, added a reference grid, an automagic fulldome tool, and new resolution presets.

  • Fixed an outstanding issue with the "domeAFL_FOV" spdl file so the 2D lens shader works correctly.

Version 1.4 Beta 1 - February 24, 2014

  • Ported the Domemaster3D shelf from Maya to Softimage, added a Softimage version of the Starglobe tool.

Version 1.1 - January 23, 2014

  • The domeAFL library has been recompiled to match the shader binary in the Maya and 3DS Max release and the latlong_lens shader has been added to the addon.

Version 1.0 - June 15, 2012

  • This is the beta version of the Domemaster3D Lens Shader for Softimage. It has been tested with Softimage 2013 64-bit on Windows 7.

User Generated Movies

Here are a few interesting projects created by artists using the Domemaster3D shader.

XETROV short film by Max Crow

Xterov was created using the DomeAFL_FOV shader with Softimage XSI and ICE.

Xterov

http://vimeo.com/51792909

Installation Instructions

Softimage on Windows

Open Softimage.

From the File Menu Select > Add-On > Install...

Install Addons

In the Install Add-On window next to the Filename Select a File... section click on the button labeled ....

Install the Selected Addon

In the file dialogue select the file domemaster3D.xsiaddon. This is the add-on package file that contains the Domemaster3D shader .dll and .spdl files. Click the OK Button.

Select Addon File

The files that are contained in the domemaster3D.xsiaddon package will be listed in the Install Add-On window. Click the Install button to load the Domemaster3D files.

By default the files will be copied into the folder:

C:\Users\Autodesk\Softimage_2013\Addons\domemaster3D

Click Install

Quit Softimage.

When you restart Softimage you can begin using the new lens shaders. The Domemaster3D lens shaders will be listed in the Lens tab of the Render Tree.

You should now have the following new lens shaders:

  • domeAFL_FOV
  • domeAFL_FOV_Stereo
  • domeAFL_WxH
  • latlong
  • LatLong_Stereo
  • rob_lookup_background

Preset Manager

The Render Tree preset manager lists the available lens shaders.

How to add a Lens Shader in Softimage

Select Your Camera

Open the explorer window to view all of the cameras in the current scene. The hotkey is Ctrl-8.

Next, select a camera in the explorer window.

Press Alt-Enter to open the Scene_Root:Camera:Camera editor window

Choose Your Lens Shader

In the Camera Editor window click on the "Lens Shaders" tab. This view lists lens shaders currently applied to your camera.

Let's attach a new lens shader to the current camera. In the "Lens Shaders" tab click the Add button

Camera Editor

Click the Add button in the Camera Editor to add a lens shader.

Pick one of the lens shaders from the pop-up menu such as "domeAFL_FOV_Stereo".

Camera Editor Add Button

Choose a lens shader from the pop-up menu.

LatLong Stereo Shader Controls

The Domemaster3D v1.6 release has added a new LatLong_Stereo node that makes it easy to render spherical stereoscopic images.

You can access the controls by expanding the LatLongStereoCamera_Root object in the Explorer window, and double clicking on the LatLong_Camera_Controls object.

Domemaster3D LatLong_Stereo Controls

Field of View Vertical: Controls the vertical FOV angle (in degrees) of the rendered Latitude/Longitude image.

Field of View Horizontal: Controls the horizontal FOV angle (in degrees) of the rendered Latitude/Longitude image.

Flip X: Flips the view horizontally

Flip Y: Flips the view vertically

Camera: Choices are Center/Left/Right. Selects the camera to use for rendering. Center skips 90% of the calculations and gives you a highly optimized standard latlong image.

Parallax Distance (focus plane): This is the distance at which the camera's line of sight converges. This is also known as the zero parallax distance.

Camera Separation: The initial separation of the left and right cameras.

Separation Multiplier: A value between 0-1 that multiples the Camera Separation. This attribute is meant to be used with a grayscale texture mapped to the screen space. It's used to control the amount of 3D effect, and eliminate it where desired.

Zenith Mode: This attribute allows you to adjust the LatLong Stereo lens shader to work with either a horizontal orientation (Zenith Mode Off), or an upwards / vertical orientation (Zenith Mode ON) that lines up with the upright view orientation of the DomeAFL_FOV / Domemaster Stereo shaders.

Domemaster3D Lens Shader Controls

A screenshot of the Domemaster3D Softimage GUI

Field of View: Controls the field of view for the rendered angular fisheye image. A "Domemaster" formatted image has a 180 degree field of view, and a "light probe" style angular image has a 360 degree field of view.

Flip X: Flips the view horizontally

Flip Y: Flips the view vertically

Camera: Choices are Center/Left/Right. Selects the camera to use for rendering. Center skips 90% of the calculations and gives you a highly optimized standard angular fisheye shader.

Dome Radius (focus plane): This is actually the distance at which the camera's line of sight converges. This is also known as the zero parallax distance so the control isn't really the dome size.

Dome Forward Tilt: Dome tilt in degrees. Note that this value is not used unless you enable Dome Tilt Compensation.

Camera Separation: The initial separation of the left and right cameras.

Separation Multiplier: A value between 0-1 that multiples the Camera Separation. This attribute is meant to be used with a grayscale texture mapped to the screen space. It's used to control the amount of 3D effect, and eliminate it where desired.

Turn Multiplier: A value 0-1 that controls the amount of the head turn. This attribute is meant to be used with a grayscale texture mapped using the screen space. Typical use, keep the head straight while looking at the top of the dome.

Head Tilt: A value 0-1 (with 0.5 being the "neutral" value) that tilts the cameras (or head) left/right. This attribute is meant to be used with a grayscale texture mapped using the screen space. 0 means 90 degrees to the left, 1 means 90 degrees to the right.

Dome Tilt Compensation: Enabling this option, shifts all the calculations by the # of degrees specified in Dome Forward Tilt. (Basically, it keeps the fulldome cameras / viewer's head vertical while the dome rotates forward.)

Maps used for the various multipliers and tilt settings will have to be custom made for the proper dome tilt.

Vertical Mode: Enables the vertical dome mode which automatically adjusts the head turn setting and adds a turn compensation for the upper and lower part of the dome. It's a simplified and optimized version of the Dome Tilt Compensation with a 90 degree tilt angle, but with a different automatic handling of the top and bottom pinch correction. It is faster and easier to use.

Node connections

Render Tree

This is a screenshot of the render tree with the custom texture map applied using the camera's screen space.

Set the "mib_texture_vector" "selspace" aka. select space value to 4 (screen space) to enable the camera UV space projection. This means the texture will be loaded using a projection to the UV space coordinates of the camera.

Texture Vector Node

Set the "mib_texture_vector" selspace value to 4 to map the texture to screen space.

mib_texture_vector.out -> mib_texture_remap.input
    
mib_texture_remap.out -> mib_texture_filter_lookup.coord
separation_map_png.tex -> mib_texture_filter_lookup.tex

mib_texture_filter_lookup.out -> Color_to_Scalar.input -> rob_lookup_background.tex

rob_lookup_background.out -> Camera Lens Shader.item

How to make the custom map connections

Start by placing your texture maps for controlling the camera separation and turn maps in the "Pictures" folder for your current Softimage project.

Select your current camera and open the Render tree. The hotkey is Shift-7.

In the Render Tree toolbar click the update icon (circular arrows) to load the current nodes in the Render Tree view. Display the preset manager view.

Connect the Domemaster 3D Shader

Scroll down in the Render tree sidebar to the SPDL Shaders -> lens section. Add a domeAFL_FOV_stereo shader to the work area.

Connect "domeAFL_FOV_Stereo.out" to the Camera Lens Shaders.item

Let's create the supporting nodes for the custom separation map

The "rob_lookup_background" shader lets you preview your camera coordinate space Separation and Head Turn Map textures before you map them to the domemaster shader DomeAFL_FOV_Stereo node.

Scroll up to the Processing -> Conversion section in the render tree. Add a "Color to Scalar" node to the work area. This node will convert the texture from an RGB image into a greyscale "tex" image. Connect "Color_To_Scalar.out" to "rob_lookup_background.tex".

Scroll down in the Render tree sidebar to the mental ray -> texture section. Add a mib_texture_filter_lookup node to the work area. This node merges the image data with our custom camera space UV coordinates. Connect "mib_texture_filter_lookup.out" to "Color_to_Scalar.input".

Double click on the "mib_texture_filter_lookup" node in the render tree to open the editor. In the editor window next to the tex attribute click the New button. In the pop-up menu select New From File....

A "New Image Clip" dialogue will appear that lets you select a file texture from your hard drive. Select the file "separation_map.png" from the "domemaster3D_sample_project\Pictures" folder. Click the "OK" Button.

The "mib_texture_filter_lookup" node should now display a crescent shaped preview icon in the "tex" section.

Let's connect the custom nodes to create the camera space UV coordinates. Start by closing any floating editor windows.

We need to add two more nodes to the Render Tree. In the sidebar click on the mental ray -> textures section add a "mib_texture_vector" and a "mib_texture_remap" node.

Double click on the "mib_texture_vector" node. In the editor window change the "mib_texture_vector" node's selspace value to 4. This means the node will select the UV space for the texture from the current camera's UV coordinates. Close the floating editor window.

Texture Vector Screen Space Settings

Set the "mib_texture_vector" selspace value to 4 to map the texture to screen space.

Connect the "mib_texture_vector.out" to the "mib_texture_remap.input".

Connect the "mib_texture_remap.out" to the "mib_texture_filter_lookup.coord".

Deselect all of the nodes in the render tree. From the Tools menu in the Render Tree window select Rearrange (Ctrl-R) to cleanup the work area.

To see the results of the "rob_lookup_background" shader you need to click the "preview" or "render" buttons.

Using the Rob Lookup Background Shader

This is what the "rob_lookup_background" shader looks like with a separation map applied.

Example Domemaster3D Softimage Scenes

Sample Project Files

The Domemaster3D Softimage add-on comes with a few examples.

  • domemaster3D_project_softimage_2013.zip
    • color-cube.scn
    • color-cube-rig.scn
    • luminance-color-cube.scn
    • luminance-cube-rig.scn
    • rob lookup background scene.scn
  • LatLong_Stereo_Project_2013.zip
    • Boxworld_2013SP1.scn
  • latlong_project_softimage_2014sp1.zip
    • latlong_scene_2014SP1.scn

Creating a Stereo Camera Rig

Create a new stereo camera

You can create a new stereo camera rig using the Camera View menu item

From the Camera View menu, select New Camera > Stereo. We now have a new stereo camera rig in our scene. We need to edit the stereo rig's camera properties. From the Stereo menu item select Properties...

Stereo Camera Properties 1

You can edit the Softimage stereo camera rig properties using the stereo menu item.

In the camera properties window set the Stereo Type of Off. This will allow the "DomeAFL_FOV_Stereo" shader to control the camera separation settings.

Stereo Camera Properties 2

When creating your own Softimage stereo camera rig set the Stereo Type to Off so the "DomeAFL_FOV Stereo" node controls the camera separation.

You can now copy the "domeAFL_FOV_Stereo" shading network we created in the section titled "How to make the custom map connections" in the Render tree by selecting the nodes and selecting "Copy Shader Branch". Apply a copy of the whole shading network to the center "StereoCamera", right "StereoCameraRight", and left "StereoCameraLeft" cameras in the Stereo Camera Rig.

Stereo Camera Rig Explorer

This is the Explorer view of the Softimage stereo camera.

Open the "DomeAFL_FOV_Stereo" node connected to each camera view in the rig. In the DomeAFL_FOV_Stereo node set the Camera popup menu item to match the name of the connected camera view.

For example set the camera setting to "Left" for the lens shader connected to the StereoCamera_Left camera.

Stereo Camera Left

These are the settings I used for the left camera in the stereo rig.

Stereo Camera Right

These are the settings I used for the right camera in the stereo rig.

Center Stereo Camera View

These are the settings I used for the center camera in the stereo rig.

You can render a "center" camera view by setting the "DomeAFL_FOV_Stereo" node to "Center" for the lens shader connected to the StereoCamera view.

Rendering the Passes

You can render the Center, Left and Right camera passes at the same time by using the Render Manager.

Center Render Pass

The center camera is set to be rendered in the "Default_Pass" in the render manager.

Left Render Pass

In the Render Manager I created another render pass called "Left_Pass". I set the Pass Camera to "StereoCamera_Left".

With the three passes created we can now render all the camera views at the same time.

Render All Passes

To render the three cameras click the Render > All Passes Button.

Clone this wiki locally