Sherman Studio Toolbox
Language: Python/SQL Contribution: Original author URL: http://sourceforge.net/projects/shermanstudio/ Frustrated by nonstandard reinventions-of-the-wheel at various studios, I've been developing a set of useful scripts and utilities for visual effects and CG film production called the Sherman Studio Toolbox. The largest of these tools is a fully functional renderfarm with advanced prioritization, resource allocation, and reporting features. The project is a work in progress - studios are encouraged to improve the codebase and share their improvements.
Language: Python Contribution: Original author Skycap is a renderfarm script submission system designed to address the shortcomings in the existing scripting system. Skycap introduced a new jobfile format to avoid submission errors, allowed queueing of dependent and independent tasks within a job, supported chunking of frames to reduce farm allocation overhead, and allowed scripts to be written in any scripting language instead of only Windows .bat.
Language: Python Contribution: Original author Mental Ray files are assembled from with a program called "Gluer", which uses file specifying the MI file components to use. Gluegrep allows a user to search all files referenced by the gluer template files - handy for discovering which component is including the wrong material or referencing missing texture files.
Language: Python Contribution: Original author An improvement on (or alternative to) the Gluer, eliminates the need for a .gt file. miCombine combines several .mi files and concatenates the elements to preserve dependency ordering. As a side effect, miCombine also garbage collects all irrelevant and duplicate elements. MiCombine does not keep the content of its .mi files in memory: instead it keeps file name and line numbers delineating MI element boundaries and assembles the final MI file by reading only from the parts of the files it needs. miCombine is modular, written to be used as either a library or standalone program, and its functions are used as modules in other programs. |
Lightjack
Language: Python Contribution: Original author A stopgap hack to allow TDs to position lights in scenes with low-res models and see their lighting system applied to high-res models within ESC's integrated Maya/Mental Ray "Rayjack" system. Lightjack uses MiCombine as a module to extract the lights from and adds them to the .mi file specified on the command line, and passes the new file to Mental Ray for rendering.
Language: Python Contribution: Original author MiCombine's other half. Reads .mi files from stdin (miCombine), writes to stdout (Mental Ray). Allows in-stream editing of .mi files without additional files being saved anywhere. Objects can be deleted, phenomena reassigned, and shader parameters edited, etc.
Language: Python/Tkinter Contribution: Original author The Jeb GUI enables users to build and edit job render scripts. Separate show-specific, user-specific and department-specific script libraries allowed Jeb to be adopted as the standard renderfarm interface by TD, Matchmove, Compositor, and FX animation departments.
Language: Python/Tkinter Contribution: Original author Tippett Studio's gradual transition from Irix to Linux left behind several key programs including the IRIX-only "EzComp" compositing system. Ez2Shake provided a workaround by translating EzComp scripts into Shake scripts which could be rendered on Linux. Ez2Shake proved so effective that the Linux EzComp render engine was never necessary.
Language: Perl/Tk, Python, Renderman SL Contribution: Maintenance, Linux porting, new features LightMix allows lighting TDs to render individual light contributions in a scene and change the color and intensity of the contributions in 2D. My responsibility included maintenance of both the rendering side (special shaders for simultaneous multichannel rendering, scripts to substitute shaders and add parameters in a RIB, scripts to render the passes) and the interactive side (programs to change brightness and hue of the elements and combine and display them). |