Hi All

Consider we have a lot of points in 3D and we need to render some
additional information around them in screen space. For example, for
very 3D point we need to render rectangular panel (with dimensions Mpx
x Npx), line from this panel to the point in 3D and some text on the
panel. So we create a HUD node (as in "osgText, HUD, RenderBins"
tutorial) and an osg::MatrixTransform nodes, which translate our
complex labels (consisting of panel, line and text) to the specified
coordinates on the screen (there is no problem with this step). On
each frame I have to inform screen-space nodes about global MVPW
matrix to properly compute it's new position on the screen from the
global 3D positions of the reference points.

I've tried osgUtil::CullVisitor, but it's MVPW matrix it already post
multiplied by osg::Projection matrix and cannot be used. So I need to
cache MVPW matrix of the root node and update labels' nodes according
to it. What is the best way to inform children of the HUD-node about
changes in the root's MVPW matrix?

Here is the link to the image with an example of such complex label
(and some trivial labels):
http://uranus-sdp.com/uploads/posts/2009-03/1237821576_cwp_2.jpg
The complex label is in upper-right part of the screen (AFL345). It is
connected to the point in 3D (square with inner cross).

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

Reply via email to