Public Member Functions

CC3ES1Renderer Class Reference

Specialized renderer that supports node-picking while multisampling antialiasing is active. More...

#import <CC3EAGLView.h>

List of all members.

Public Member Functions

(void) - closePicking
(void) - openPicking

Detailed Description

Specialized renderer that supports node-picking while multisampling antialiasing is active.

If multisampling antialiasing is active, all rendering operations are directed to a specialized multisampling framebuffer. Because it does not directly represent the screen, this multisampling framebuffer does not support the pixel reading operation required by the node-picking algorithm.

This specialized renderer subclass adds an additional framebuffer that links the existing resolve color buffer to a newly created depth buffer. Rendering during node picking is directed to this specialized framebuffer, which does support pixel reading, by invoking the openPicking method. Once node-picking is complete, the multisampling framebuffer can be made active again for normal rendering operations by invoking the closePicking method.

The additional depth and frame buffers are only added if BOTH multisampling is active and node-picking is being used. To preserve memory, the additional buffers will not be created unless both multisampling and node-picking are active.


Member Function Documentation

- (void) closePicking

Restores the rendering framework to normal rendering.

If multisampling is active, the multisampling framebuffer is made active.

It is safe to invoke this method even if multisampling is not active.

- (void) openPicking

Sets up the rendering framework to support rendering custom colors and reading a pixel color during node picking operation.

The multisampling framebuffer does not permit the pixel reading used by the node-picking algorithm. So, if multisampling is active, a separate non-multisampling framebuffer is created to link together the resolve color buffer and a newly created non-multisampling depth buffer. This dedicated framebuffer is then made active so that the node drawing that occurs during node picking is rendered to this dedicated, non-multisampling framebuffer.

The additional buffers are only used if BOTH multisampling and node-picking are in use. It is also safe to invoke this method if this is not the case.


The documentation for this class was generated from the following file: