[osg-users] Getting the "depth clamped" projection matrix of a CameraNode
Alan Purvis
alanpurvis at eircom.net
Mon Dec 3 14:51:36 PST 2007
Hi,
CameraNodes unlike SceneViews don't appear to have a getCullVisitor()
function, I'm guessing they're visited by the same CullVisitor as the
root SceneView that contains them. Without access to this "root
SceneView", is it possible to get access to the exact projection
matrix applied to the contents of a CameraNode with an absolute frame
of reference (and no projection transforms attached to its children
other than the one set on itself)?
I have a (heavily) multi-pass scene graph set up doing per fragment
depth of field with some RTT pre-render passes and rendering textured
quads to various destinations with shaders attached. One requirement
of the algorithm I'm working on is access to the projection matrix
used to render the original "scene texture" by the quad that is used
to render that scene texture to the frame buffer (or another FBO
depending), this is required to reverse the non-linear transform
applied to values in the depth buffer among other things. Simply
calling getProjectionMatrix() on the CameraNode after it has rendered
its image returns the original matrix I passed it though, is the
actual matrix used for rendering retained after culling and drawing
have completed? If so, then where might I find it? and if not is
there some callback or something I can use to grab it while it's
floating around the scenegraph?
Thanks,
Alan
More information about the osg-users
mailing list