G-Buffer Image Channels
 
 
 

Image Filter and Image Layer events in Video Post can use masks that are based on geometry/graphics buffer (G-Buffer) channels instead of the more widely used RGB and alpha channels. Also, some kinds of Filter and Layer events can post-process objects or materials designated by these channels. The 3ds Max G-Buffer system allows developers to access additional data about rendered objects.

A G-buffer is used to store, at every pixel, information about the geometry at that pixel. All plug-ins in video post can request various components of the G-buffer. When video post calls the renderer it takes the sum of all the requests and asks the renderer to produce the G-buffer.

This allows a developer writing an image processing plug-in to locate parts of the image using a specific material, locate a specific node in the scene, and access UV coordinates, surface normals, and unclamped color values. This also allows the developer to access the Z (depth) buffer. In release 3.0 and later developers can access, color, transparency and weight for sub-pixel fragments as well as velocity (for motion blur).

A filter plug-in (derived from class ImageFilter) implements the method ImageFilter::ChannelsRequired() to indicate what channels it needs. Then, at the time the filter's Render() method is called it will have access to these channels. See List of Image Channels for details on the available channels.