[osg-users] CompositeViewer, update traversal, prerender branch

Fabian Bützow buetz at uni-koblenz.de
Sun Sep 21 03:46:38 PDT 2008

Hi Robert,
thanks for your help in this case and thanks for all your other replies, 
you have been a great source of motivation and advice.

However, my problem has not been completely solved, yet. You were right, 
with the single graphics context and window for all views, the textures 
are updated now in each View. Cheers! The problem is, that i want to 
project the render result with 2 or 3 projectors onto an object, each 
projector with an individual View. Is it possible to extend the one 
graphics window over several screens/projectors? With that i could undo 
the window decoration and fake two independent views..? Otherwise i 
probably have to use multiple graphics windows and share the context 
(what id like to avoid, since you said that would cause even more problems).


ps: i try to summarise, my (restricted) knowledge of graphics 
window/context etc.. Maybe others can contribute to that as well.
When you dont specify a graphics context for a View, osg generates a new 
unique one for each View. Graphics contexts comprise basically 
everything you need for standard rendering, buffers etc. The scene data 
of the View is copied. Each graphics context is displayed in a new 
graphics window. (One graphics context->one window, multiple 
Views->multiple graphics contexts->multiple graphics windows).

An update traversal is done only once per scenegraph(?), starting from 
the View that is placed highest in the scenegraph. After that cull and 
draw traversals are executed for each View.

[Prerender cameras nodes under a View in the scenegraph are rendered 
once for each View, the results of this step are not shared among the 

hmm->more assumptions than knowledge..i should better stop ;)

More information about the osg-users mailing list