Arnold MtoA Domemaster3D Install - zicher3d-org/domemaster-stereo-shader GitHub Wiki
This guide covers the Arnold version of the Domemaster Stereo Shader.
Tip: After you use the Maya shelf tools to add a fulldome or latlong stereo camera rig to your scene, you need to adjust the left camera in the stereo rig to change the "linked" lens shader attributes for the LatLongStereo or DomemasterStereo rigs.
Arnold 5 Compatibility Note: The new Arnold 5 release has changed their lens shader system. At this point in time the current Domemaster3D shaders are not compatible with Arnold 5. If you need a lens shader today that works with Arnold 5 it is recommended you use the new built-in "VR Camera" module provided by Solid Angle directly.
The current version of the Arnold Domemaster3D shaders are a development build. At this point in time there is no easy way to create stereoscopic production centric screen space texture maps using Arnold's MtoA, HtoA, C4DtoA, and SItoA render nodes. This means a solution has to be developed inside the Domemaster3D shaders that will remap an existing texture map into screen space coordinates.
The LatLongStereo shader generally works fine. The only thing to note is that there is no way to feather out the stereo effect in the zenith and nadir zones using the separation map attribute.
The LatLongStereo shader should be rendered with a 2:1 aspect ratio to avoid vertically over-rendering the scene's FOV angle.
At this point, the DomemasterStereo shader will render a stereo fulldome image but you will notice something that looks like a small "swirly region" in the zenith part of the fulldome frame. This is due to a lack of a screen space turn map texture.
Here are a few screenshots of the Maya Shelf tools and the Arnold based DomemasterStereo, DomemasterWxH, and LatLongStereo shader GUIs for Maya.
Step 1. Download and install the Visual Studio 2012 (VC++ 11.0) Redistributable Package.
Step 2. Download and install the Windows version of the file "Domemaster3D for Maya + 3DS Max" from the Domemaster Project's GitHub Releases page or from Andrew Hazelden's blog.
Step 3. Open up the new Domemaster3D folder:
C:\Program Files\Domemaster3D\arnold\mtoa\modules
Copy the Maya module file "ArnoldDomemaster3D.mod" from the Domemaster3D "modules" folder to:
(Single User Modules Install)
C:\Users\<User Account>\Documents\maya\<Maya Version>\modules\
If the modules folder doesn't exist in the destination folder path, then create the modules directory too.
or
(System Wide Modules Install)
C:\Program Files\Common Files\Autodesk Shared\Modules\Maya\<Maya Version>\
Step 5. Copy the Maya shelf file from the Domemaster3D MtoA "common\shelves" folder to your user account's Maya shelves folder.
C:\Users\<User Account>\Documents\maya\<Maya Version>\prefs\shelves\
Step 6. Edit your Windows Environment variables using the System Control Panel to include Arnold's env vars and path:
PATH=C:\solidangle\mtoadeploy\2017\bin\
ARNOLD_PLUGIN_PATH=C:\solidangle\mtoadeploy\2017\shaders;C:\Program Files\Domemaster3D\arnold\mtoa\shaders
MAYA_RENDER_DESC_PATH=C:\solidangle\mtoadeploy\2017\
solidangle_LICENSE=5053@<Write Your RLM Server Address Here>
Step 7. (Optional) Expand the Domemaster3D Maya / MtoA examples project that is located here:
C:\Program Files\Domemaster3D\arnold\scenes\MtoA_LatLong_Sample_Project.zip
and copy it to your Maya projects folder here:
C:\Users\<User Account>\Documents\maya\projects\
Step 1. Download and install the macOS version of the file "Domemaster3D for Maya + 3DS Max" from the Domemaster Project's GitHub Releases page or from Andrew Hazelden's blog.
Step 2. Open up the new Domemaster3D folder:
/Applications/Domemaster3D/arnold/mtoa/modules
Copy the Maya module file "ArnoldDomemaster3D.mod" from the Domemaster3D mtoa "common/modules" folder to:
(Single User Modules Install)
/Users/<User Account>/Library/Preferences/Autodesk/maya/<Maya Version>/modules/
or
(System Wide Modules Install)
/Users/Shared/Autodesk/modules/maya/<Maya Version>/
If the modules folder doesn't exist in the destination folder path, then create the modules directory too.
Step 4. Copy the Maya shelf file from the Domemaster3D mtoa "common/shelves" folder to your user account's Maya shelves folder.
/Users/<User Account>/Library/Preferences/Autodesk/maya/<Maya Version>/prefs/shelves/
Step 5. (Optional) Edit your .bash_profile
to include Arnold's env vars and path:
# Arnold Settings
export PATH="$PATH:/Applications/solidangle/mtoa/2017/bin/"
export ARNOLD_PLUGIN_PATH="/Applications/solidangle/mtoa/2017/shaders:/Applications/Domemaster3D/arnold/mtoa/shaders"
export MAYA_RENDER_DESC_PATH="/Applications/solidangle/mtoa/2017/"
export solidangle_LICENSE=5053@<Write Your RLM Server Address Here>
Step 6. (Optional) Expand the Domemaster3D Maya / MtoA examples project that is located here:
/Applications/Domemaster3D/arnold/scenes/MtoA_LatLong_Sample_Project.zip
and copy it to your Maya projects folder here:
~/Documents/maya/projects/
Step 1. Download and install the manual installation version of the file "Domemaster3D for Maya + 3DS Max" from the Domemaster Project's GitHub Releases page or from Andrew Hazelden's blog.
Step 2. Open up the new Domemaster3D folder:
/opt/Domemaster3D/arnold/mtoa/modules
Copy the Maya module file "ArnoldDomemaster3D.mod" from the Domemaster3D "modules" folder to:
(Single User Modules Install)
~/maya/<Maya Version>/modules/
If the modules folder doesn't exist in the destination folder path, then create the modules directory too.
Step 3. Copy the Maya shelf file from the Domemaster3D MtoA "common\shelves" folder to your user account's Maya shelves folder.
~/maya/<Maya Version>/prefs/shelves/
Step 4. Edit your .bash_profile to include Arnold's env vars and path:
# Arnold Settings
export PATH="$PATH:/opt/solidangle/mtoa/2017/bin/"
export ARNOLD_PLUGIN_PATH="/opt/solidangle/mtoa/2017/shaders:/opt/Domemaster3D/arnold/mtoa/shaders"
export MAYA_RENDER_DESC_PATH="/opt/solidangle/mtoa/2017/"
export solidangle_LICENSE="5053@<Write Your RLM Server Address Here>"
Step 5. (Optional) Expand the Domemaster3D Maya / MtoA examples project that is located here:
/opt/Domemaster3D/arnold/scenes/MtoA_LatLong_Sample_Project.zip
and copy it to your Maya projects folder here:
~/maya/projects/
You can list all of the active Arnold Shader nodes using:
C:\solidangle\mtoadeploy\<Version>\bin\kick.exe -nodes t
/Appplications/solidangle/mtoa/<Version>/bin/kick -nodes t
/opt/solidangle/mtoa/<Version>/bin/kick -nodes t
If you run Arnold's Kick utility with the info flag you can see the DomemasterStereo shader's node parameters:
WARNING | node "DomemasterStereo" is already installed
node: DomemasterStereo
type: camera
output: (null)
parameters: 27
filename: C:\solidangle\mtoadeploy\2014\shaders\DomemasterStereo.dll
version: 4.2.0.6
Type Name Default
------------ -------------------------------- --------------------------------
INT camera 0
FLOAT fov_angle 180
FLOAT zero_parallax_sphere 360
FLOAT separation 6.5
FLOAT forward_tilt 0
BOOL tilt_compensation false
BOOL vertical_mode false
FLOAT separation_map 1
FLOAT head_turn_map 1
FLOAT head_tilt_map 0.5
INT flip_ray_x false
INT flip_ray_y false
POINT[] position 0, 0, 0
POINT[] look_at 0, 0, -1
VECTOR[] up 0, 1, 0
MATRIX[] matrix
FLOAT near_clip 0.0001
FLOAT far_clip 1e+30
FLOAT shutter_start 0
FLOAT shutter_end 0
ENUM shutter_type box
POINT2[] shutter_curve (empty)
ENUM rolling_shutter off
FLOAT rolling_shutter_duration 0
NODE filtermap (null)
ENUM handedness right
FLOAT[] time_samples (2 elements)
POINT2 screen_window_min -1, -1
POINT2 screen_window_max 1, 1
FLOAT exposure 0
STRING name
Assuming Arnold's kick tool is in your system PATH variable, you can check if the shader is installed correctly and read the default parameters using the following parameters:
kick.exe -info DomemasterStereo
kick.exe -info DomemasterWxH
kick.exe -info LatLongStereo
or
you can check if the shader is installed and define a custom library search path at the same time:
kick -l C:\solidangle\mtoadeploy\<Version>\shaders\DomemasterStereo.dll -info DomemasterStereo
kick -l C:\solidangle\mtoadeploy\<Version>\shaders\DomemasterWxH.dll -info DomemasterWxH
kick -l C:\solidangle\mtoadeploy\<Version>\shaders\LatLongStereo.dll -info LatLongStereo
kick -info DomemasterStereo
kick -info DomemasterWxH
kick -info LatLongStereo
or
you can check if the shader is installed and define a custom library search path at the same time:
kick -l /Appplications/solidangle/mtoa/<Version>/shaders/DomemasterStereo.dylib -info DomemasterStereo
kick -l /Appplications/solidangle/mtoa/<Version>/shaders/DomemasterWxH.dylib -info DomemasterWxH
kick -l /Appplications/solidangle/mtoa/<Version>/shaders/LatLongStereo.dylib -info LatLongStereo
kick -info DomemasterStereo
kick -info DomemasterWxH
kick -info LatLongStereo
or
you can check if the shader is installed and define a custom library search path at the same time:
kick -l /opt/solidangle/mtoa/<Version>/shaders/DomemasterStereo.so -info DomemasterStereo
kick -l /opt/solidangle/mtoa/<Version>/shaders/DomemasterWxH.so -info DomemasterWxH
kick -l /opt/solidangle/mtoa/<Version>/shaders/LatLongStereo.so -info LatLongStereo
kick -i DomemasterStereo_right.ass -r 512 512
kick -i DomemasterStereo_left.ass -r 512 512
Step 1. Install Visual Studio, Arnold, and MtoA. The current script has the paths for command line compiling with Visual Studio 2012 (11.0)
Step 2. Open a new command prompt and cd into the source code folder.
Step 3. Run the "windows64_setup.bat" script using a new command prompt window to setup the compiling environment variables:
windows64_setup.bat
Step 4. Compile the source code using windows64_compile.bat
bat script in the same command prompt window used step 3:
windows64_compile.bat
Step 1. Install Xcode, Arnold, and MtoA.
Step 2. Open a new terminal window and cd into the source code folder.
Step 3. Edit the Makefile.osx file and change the MAYA_VERSION
variable to match your current Maya release, and update the MTOA_API_VERSION
variable to match your current Arnold release number. You might want to edit the macosx_version_min
option if you are compiling the shader exclusively for systems running Mac OS X Mavericks 10.9 or newer.
Step 4. Use the macOS X makefile to compile a new DomemasterStereo.dylib shader:
make -f Makefile.osx
Step 5. You can check your compiled dylib architecture with the following command:
bash-3.2# lipo -info DomemasterStereo.dylib
Non-fat file: DomemasterStereo.dylib is architecture: x86_64
Step 1. Install G++, Arnold, and MtoA.
Step 2. Open a new terminal window and cd into the source code folder.
Step 3. Edit the Makefile and change the MAYA_VERSION
variable to match your current Maya release, and update the MTOA_API_VERSION
variable to match your current Arnold release number.
Step 4. Use the linux makefile to compile a new DomemasterStereo.so shader:
make -f Makefile
- Roberto Ziche created the original "
domeAFL_FOV_Stereo
" shader for 3DS Max. - Luis Silva created the initial Arnold lens shader port for Softimage.
- Andrew Hazelden is doing the ongoing port of the "
DomemasterStereo
" and "LatLongStereo
" lens shader for Arnold on Maya/Softimage/Houdini. - Daniel Ott created the original 2D "
domeAFL_FOV
", and "domeAFL_WxH
" lens shaders for mental ray.
-
Updated the Maya based "Arnold Domemaster3D" menu and shelf to add 2D rendering style entries for creating Domemaster FOV 2D and LatLong 2D renderings using the center camera view in the existing stereo lens shaders.
-
Added the DomeGrid function "
createDomeGrid()
" to create a spherical yellow reference grid in Maya. -
Edited the Dome Grid creation script so the catch command is used to handle the event that mental ray might not be installed and a "
doPaintEffectsToPoly
" function based Maya code dependency is going to try and change the ".miFinalGatherCast
" attribute. Adjusted the line thickness, default light brightness setting, and the shadow settings on the Dome Grid. -
Updated the Arnold Domemaster3D menu items and created an "
Open Directories
" section to better categorize the entries.
- Improved the Domemaster3D/Arnold for Maya integration. Updated the "ArnoldDomemaster3D.mod" Maya module file, updated the shelf tool items, and added a new "Arnold Domemaster3D" menu in the Maya rendering menu set.
-
Updated the Maya shelf tools to add a new Automagic LatLong Stereo option
-
Updated the python script that creates the Arnold LatLongStereo and DomeStereo cameras. The stereo rig manager defaultRig value is now switched automatically when a LatLongStereo or DomeStereo camera is created. This fixes an alignment issue that happened when the wrong stereo camera defaultRig was active when creating a new camera in Arnold.
-
Updated the dome grid shape to use a full sphere as the default FOV value for the wireframe mesh geometry. This improves the rendering experience when a latlong shader is used.
- Added the initial Cinema4D C4DtoA "res" support files for the lens shaders.
-
Updated the Windows builds to use Visual Studio 2013 for the Arnold .dll shader compiles.
-
Tweaked the LatLongStereo FOV code to improve the vertical FOV rendering issue.
-
Note: The LatLongStereo shader currently expects a 2:1 aspect ratio render resolution for the output. The code to compensate for a non 2:1 rendered aspect ratio hasn't been finished yet so you will experience over-rendering of the vertical FOV if you render to an image with a 1:1 aspect ratio.
-
Updated the Maya "
userSetup.py
" script to avoid a condition where the code was run twice at startup. -
Updated the metadata files to include the "is_perspective" attribute to fix the Arnold error message "node "%s" is not a perspective camera, cannot use view-dependent subdivision". This change was done in reference to the Arnold Ticket #1646: https://trac.solidangle.com/mtoa/ticket/1646#comment:9
- Updated the minimum "
Zero Parallax Sphere
", and "Zero Parallax Distance
" values in the DomemasterStereo and LatLongStereo shaders to 0.001 to support smaller camera scales.
-
Initial Arnold support for Maya/Softimage/Houdini.
-
Created "
DomemasterStereo.mtd
", "DomemasterWxH.mtd
", and "LatLongStereo.mtd
" documents for Maya and Houdini users. -
Created Maya stereo rig scripts for the LatLongStereo and DomemasterStereo lens shaders.
-
Changed the attribute names to match the Domemaster Stereo Shader / Arnold conventions:
-
The "
Dome_Radius
" control is now named "zero_parallax_sphere
", and "dome_tilt
" is now "forward_tilt
" based upon the fulldome NING discussion.