I've got my head down dealing with some other complex areas of the OSG
right now - it's even a multi-threaded part... so I'm not in a good
place to dive into discussion about other complex areas. Give me a
week and I'll be a in better position.
Robert.
> _______________________________________________
> osg-users mailing list
> osg-...@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
>
_______________________________________________
osg-users mailing list
osg-...@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
no problem take your time for other new features. in the mean time i
will progress in PSSM as well...
regards adrian
2008/5/21, Robert Osfield <robert....@gmail.com>:
Do you remember my suggestion that changing DataVariance might help ?
In certain threading modes osgUtil::Renderer uses 2 SceneViews to cull and
render 2 consecutive frames concurently. Robert used to call it
doublebuffering, first of these SceneViews culls and renders odd frames and
second culls and renders even frames. Technically its possible to have them
working concurently. For example first SceneView may be culling the graph
while second SceneView is outputing(drawing) RenderStage.
This shouldn't be done when some resources of the scene graph are shared and
they change with each frame. If some of these resources are used by both
SceneViews there might be race conditions - it will be possible that some of
them will be changed by first SceneView traversals while also being accessed
by second SceneViews traversals.
What it means for PSSM ? I bet that PSSM:cull changes some shared resources
(like Texgen or some Uniforms for example) in the same time as Draw in
Second View uses them. Classic race condition - sometimes cull wins
sometimes draw wins. Hence some flicker.
DataVariance set to DYNAMIC could be used to serialize SceneViews traversals
and may potentially solve your issue. The question is where in scene graph
this variance should be set. PSSM would be good place for this but I am not
sure if this is possible. Maybe Robert can suggest right place.
Cheers,
Wojtek