Repository navigation
Overview
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:
- creating the scene node
- parsing the scene
- rendering the scene
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.