Skip to content
haggi edited this page Aug 21, 2013 · 11 revisions

This is how a rendering works from the click on the render button until the final image:

All the interface elements are created as python scripts, as well as the complete renderer setup in maya what includes creation of a new renderer element and all its callbacks. The renderer is defined here: Renderer Definition

So if you click the render button the script assoziated with Render procedure is called. This procedure can be seen here: Render Procedure

The render procedure takes the arguments and calls the plugin command. Every plugin defines a command called mayato, e.g. mayatoappleseed(). Here we start to dive into the plugin itself. The command is defined here: renderer command

After checking some attributes, the scene node is created. After creation the camera is set and then the scene is parsed. If everything worked fine the scene will be rendered: render scene

So the basic steps are:

A basic class type in mayaToXXX is the MayaObject class. It is an abstract class which has to be implemented in the renderer specific classes. This class contains some shortcuts to often used elements, and offers some simple access to information like visibility, node type and others. A renderer interface will create its own MayaObject class derived from the base class and add renderer specific informations. An example can be found here: Appleseed MayaObject As you can see it creates its own methods and attributes for the renderer Appleseed.

Other basic classes work in exact the same way: MayaGlobals, MayaScene.

Another basic type are Maya nodes. They define renderer specific maya nodes like the renderGlobals node, shaders or standin locator nodes. These nodes need an unique node ID which can be requested from autodesk.

Clone this wiki locally