MRenderData Class Reference
[OpenMayaRender - API module for rendering]

#include <MRenderData.h>

Collaboration diagram for MRenderData:

Collaboration graph
[legend]

List of all members.


Detailed Description

Access Rendering Data.

The rendered image and depth map can be changed following the software render by instanciating a MRenderCallback and overriding renderCallback() or postProcessCallback(). When these methods are invoked, a MRenderData is passed as an argument; the rgbaArr and depthArr can then be changed by this API. Methods and data are provided to assist in transforming back and forth from world space to image space. Paint Effects and Fur are two examples which use this mechanism to change the rendered image.

Examples:

renderAccessNode.cpp.


Public Member Functions

 MRenderData ()
void worldToScreen (const MFloatPoint &worldPoint, MFloatPoint &screenPoint) const
void screenToWorld (const MFloatPoint &screenPoint, MFloatPoint &worldPoint) const

Public Attributes

bool perspective
 set if the camera has a perspective projection
unsigned short resX
 the x resolution of the rendered image
unsigned short resY
 the y resolution of the rendered image
unsigned short left
 the left (low) render region dimension
unsigned short bottom
 the bottom (low) render region dimension
unsigned short right
 the right (high) render region dimension
unsigned short top
 the top (high) render region dimension
unsigned short bytesPerChannel
 number of bytes per channel of the rgbaArr
unsigned short xsize
 the actual x resolution of rgbaArr and depthArr
unsigned short ysize
 the actual y resolution of rgbaArr and depthArr
float fieldOfView
 camera horizontal field of view in radians
float aspectRatio
 camera pixel aspect ratio
MFloatVector viewDirection
 view direction of the camera (object space)
MFloatPoint eyePoint
 position of the camera (object space)
MFloatMatrix worldToEyeMatrix
 camera matrix to transform to eye space
unsigned char * rgbaArr
float * depthArr

Constructor & Destructor Documentation

MRenderData::MRenderData (  ) 

Default class Constructor


Member Function Documentation

void MRenderData::worldToScreen ( const MFloatPoint inPoint,
MFloatPoint outPoint 
) const

Converts world space point to screen space. Screen depth is stored in outPoint.z.

Parameters:
[in] inPoint The original point in world space
[out] outPoint The converted point in screen space
Examples:

void MRenderData::screenToWorld ( const MFloatPoint inPoint,
MFloatPoint outPoint 
) const

Converts screen space point to world space. Screen depth is stored in inPoint.z.

Parameters:
[in] inPoint The original point in screen space
[out] outPoint The converted point in world space
Examples:


Member Data Documentation

unsigned char* MRenderData::rgbaArr

this is a 1d array representing the output image buffer. It is of size: resX * resY * 4 * bytesPerChannel. The array is indexed as [(resX * x + y) * 4 * bytesPerChannel], where (x,y) is the current pixel coordinates. The "4" multiplier is used for storing RGBA information, in the order of a,b,g,r (on OSX) or b,g,r,a (on Windows and Linux).

Examples:

this is a 1d array representing the output depth buffer. It is of size: resX * resY, where each depth value is a single precision floating point vlue. It is indexed as [resX * x + y], where (x,y) is the current pixel coordinates.

Examples:


Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. Generated with doxygen 1.5.6