>> We are using SceneView from OSG 1.2 and VR Juggler in a >> multiple render thread environment. We are using the >> osgUtil::UpdateVisitor to update the graph in a serial >> portion of our code. SceneView::cull and SceneView::draw are >> called from each rendering thread. In this configuration we >> often see the displays flash the clear color on a random >> basis. We are setting the clear color through the use of a >> ClearNode and we clear the depth buffer at the beginning of >> the draw function. > > Hi Doug -- Just thinking of this in OpenGL terms, the dreaded "blank > screen" > can have many many causes. > > One possible explanation: The cull traversal on one of the displays > randomly > thinks that everything is culled. This could be due to a configuration > issue > for the camera controlling that display, the modelview/projection matrices > are bogus and/or the view volume used during the cull traversal isn't set > correctly. You might consider hacking the code to dump such information > out > per frame. Yes, it will generate gobs of output, but if you do a short run > and see a flash, then examine the debug output, any one-frame > irregularities > should jump out at you. If nothing shows up, then the problem is somewhere > else. > If I make the SceneView::cull call guarded with a mutex then the problem goes away. I printed out the frustum values and view matrix and nothing seemed to be wrong there. Any ideas on what might not be thread safe in cull or what I may be doing wrong with my management of cull settings? Also, this code is not using anything special in terms of hardware occlusion culling or the small feature culling.
> The other thought I had relates to the ClearNode. Does the problem go away > if you eliminate the ClearNode and just let SceneView do its own clearing? > -Paul > Doug _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

