Hi Robert,

following the discussion yesterday on osg-users, I have decided to submit the original patch as is.

MRT is enabled by an explicit call on osg::Camera (setDrawBuffers), just like readback of textures/images is enabled by osg::Camera->attach.

To me, the camera seems the natural place for these things at the moment. If it would make sense as a StateAttribute (either for Camera or FBO), the implementation is left as a possible future enhancement.

regards
jp

old message

----8<----
Attached are the changes to OSG's Camera and RenderStage.

Camera got a new method called setDrawBuffers (instead of the normal setDrawBuffer), which mirrors the OpenGL extension glDrawBuffers.

setDrawBuffers takes a vector of BufferComponents and this vector is then translated in RenderStage to a vector of GLenums that is passed to glDrawBuffers.

The new calls are orthogonal to current use cases, so hopefully no other code/examples would be affected.

The attached example shows sample usage. The example is very contrived, but I hope it explains the concept. I have some other examples that I can contribute later.
----8<----

--
This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html.

This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support.

Attachment: OSG_MRT_200803.tgz
Description: application/compressed-tar

_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to