Hello,

    recently (developer version 2.9.5) i noticed that the implementation of
checkNeedToDoFrame in both Viewer and CompositeViewer have different
conditions. Viewer checks if the camera has an UpdateCallback or if any node
has an UpdateCallback, while CompositeViewer doesn't. Is there a rationale
behind that?

    I'm asking about it because we use rendering on demand and all went ok
until we needed to render based upon the manipulator behavior, i.e. upon the
flag _requestRedraw. We didn't use checkNeedToDoFrame, instead we check for
events and databasepager request (like checkNeedToDoFrame). But now we need
to check _requestRedraw, but it is protected and there isn't any getter to
get its value, so we change the code to call checkNeedToDoFrame. But this
method return true if there is any UpdateCallback. Unluckily, we have many
UpdateCallbacks and the end result is a continuous render (not what we want,
and this problem is aggravated due to the high cpu consumption of the
render, perhaps related to NVIDIA's active waiting).

   I'm searching for a way to implement a method similar to
checkNeedToDoFrame out of the Viewer,

         - is there an alternate way to test if requestRedraw is set? How
about adding a getRequestRedraw method to ViewerBase ? Will it have any
implications or side effects?
         - do we need to check for UpdateCallbacks? In our case, we use
Updatecallbacks to check an external condition, they do nothing 90% of the
time.
         - does the implementation of checkNeedToDoFrame need to be
different between Viewer and CompositeViewer or is this a bug?

Thanks in advance and best regards,
Himar.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to