Hi, I am trying to improve the consistency between the rendering of our terrain and the objects that interact with it.
What I want to achieve each frame is the following (NB: all objects are under a single camera): 1) Do the update then cull traversal on the terrain. - Doing this first allows the rest of the scene to know exactly what terrain tiles will be used to render the frame. From this I can determine which areas of the terrain have been changed since the last frame so I can limit the intersections I need to do to keep objects on its surface. 2) Do some processing external to the OSG frame loop - At this stage our application will need to process various functions based on underlying terrain that are not directly integrated with OSG. 3) Do the update and cull traversals on the rest of the scene. - The big change in this passes is that during the update traversal the terrain tiles to be rendered is known. This ensure there is no 'frame lag' when placing objects a consistent distance on or above the surface of the terrain. 4) Render the combined result. At the moment I simply call frame on a Viewer instance. My first thought was to use node masks at the top of the terrain and 'the rest of the scene' and simply run the update and cull traversals twice each frame with a different mask. This seems easy to implement for the update traversals but I cannot see how I can easily implement this for the cull traversals as both the cull and rendering passes are implemented by the single ViewerBase::renderingTraversals. Overriding this function to add the functionality I want seems like a rather complex problem to tackle. Is there another, easier way, to get the results I want? Cheers, Brad ------------------------------------------------------------------------- DISCLAIMER: This e-mail transmission and any documents, files and previous e-mail messages attached to it are private and confidential. They may contain proprietary or copyright material or information that is subject to legal professional privilege. They are for the use of the intended recipient only. Any unauthorised viewing, use, disclosure, copying, alteration, storage or distribution of, or reliance on, this message is strictly prohibited. No part may be reproduced, adapted or transmitted without the written permission of the owner. If you have received this transmission in error, or are not an authorised recipient, please immediately notify the sender by return email, delete this message and all copies from your e-mail system, and destroy any printed copies. Receipt by anyone other than the intended recipient should not be deemed a waiver of any privilege or protection. Thales Australia does not warrant or represent that this e-mail or any documents, files and previous e-mail messages attached are error or virus free. -------------------------------------------------------------------------
_______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org