Interfaces To The Renderer

   

Figure 13: New interface connections

Figure 14: Old interface connections

Within Maya, there are various exposed interfaces which accept a frame of render data. These include:

In the old system, only viewport based rendering was possible. In the current system, rendering to the RenderView window and command line (batch) rendering are also supported. For the latter, this also includes command line rendering via the playblast interface.

The previous notion that the 3d viewport is the renderer no longer holds true. Therefore, the assumption of a dependence on access to viewports has been removed. Instead the appropriate information is provided in a non-viewport dependent context as required. There are various options available for each interface. For example, render globals options provide context for command line rendering. As much as possible, an aggregate of all options, whether interactive or not is taken and presented as context data or options. As the renderer is no longer a 3d viewport, these implicit assumptions are also no longer true:

  1. A 3d viewport always exists: It is not possible to totally prevent a plug-in from attempting to access a 3d viewport, but plug-ins should be able to handle the situation where one does not exist.
  2. Idle refresh always forces the appropriate updates: Idle refresh should not be considered to be the only driver for renders anymore. As such, plug-ins should not rely on that mechanism to force the required scene updates to occur.