Re: [osg-users] Composite Viewer, Multiple Windows, Different Framerates

2009-08-17 Thread Chris Glasnapp
At this point I'm somewhat pressed for time, so I'm going to toggle
the nodemask on and off and deal with the buffer swapping.
Maybe when I get more time I'll revisit the disabling of windows at
the viewer level.

Thanks for the info!

-Chris

On Fri, Aug 14, 2009 at 7:44 AM, Robert Osfield
robert.osfi...@gmail.com wrote:

 Hi Chris,

 The current design of osgViewer is for a single viewer to have a
 single frame loop, and in your case you fall out this.  One possible
 solution would be to have two separate viewers, each running their own
 frame when required - you can't mix scene graphs or graphics contexts
 in this case though.  The other route is node masks as you have done,
 but this won't disable the swap buffers of the associate contexts - do
 to the later one would need to modify the
 CompsiteViewer::renderingTraversals() method to enable the disable of
 a window.

 Potentially we could evolve osgViewer to support the disabling of
 windows so that all the cameras on it wouldn't rendering and no swap
 buffers would be issued.  Disabling cameras from updating where the
 window/context is a bit more awkward though as you'd need to rendering
 to the back buffer and front buffer of the camera to be disabled
 before you can fully disable it, otherwise you'd end up with black
 hole where the camera was.

 Robert.

 On Wed, Aug 12, 2009 at 8:15 PM, Chris Glasnappchris.glasn...@gmail.com 
 wrote:
  Hello,
 
  I have a wxWidgets application where I'd like to setup two windows.
  The first window is interactive, so I want the framerates to be quite high.
  The second window displays a different view of the same scene, but it is not
  interactive, and I don't care much about the refresh rate.
 
  Because I'm using wxWidgets, I call frame() myself instead of calling run().
 
  If I use a composite viewer (as I believe OSG intended for me to do), then I
  can only call frame() once, which redraws both views. What is the best way
  to achieve different framerates for the two different views? Should I set
  the nodemask of the low framerate camera to 0 for most of the time, and then
  set its nodemask to ~0, when I want it to render to its window?
 
  I'm hoping there is a better way, because I use the nodemask of the cameras
  for other purposes.
 
  Thanks!
  -Chris
  ___
  osg-users mailing list
  osg-users@lists.openscenegraph.org
  http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
 
 
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] Composite Viewer, Multiple Windows, Different Framerates

2009-08-14 Thread Robert Osfield
Hi Chris,

The current design of osgViewer is for a single viewer to have a
single frame loop, and in your case you fall out this.  One possible
solution would be to have two separate viewers, each running their own
frame when required - you can't mix scene graphs or graphics contexts
in this case though.  The other route is node masks as you have done,
but this won't disable the swap buffers of the associate contexts - do
to the later one would need to modify the
CompsiteViewer::renderingTraversals() method to enable the disable of
a window.

Potentially we could evolve osgViewer to support the disabling of
windows so that all the cameras on it wouldn't rendering and no swap
buffers would be issued.  Disabling cameras from updating where the
window/context is a bit more awkward though as you'd need to rendering
to the back buffer and front buffer of the camera to be disabled
before you can fully disable it, otherwise you'd end up with black
hole where the camera was.

Robert.

On Wed, Aug 12, 2009 at 8:15 PM, Chris Glasnappchris.glasn...@gmail.com wrote:
 Hello,

 I have a wxWidgets application where I'd like to setup two windows.
 The first window is interactive, so I want the framerates to be quite high.
 The second window displays a different view of the same scene, but it is not
 interactive, and I don't care much about the refresh rate.

 Because I'm using wxWidgets, I call frame() myself instead of calling run().

 If I use a composite viewer (as I believe OSG intended for me to do), then I
 can only call frame() once, which redraws both views. What is the best way
 to achieve different framerates for the two different views? Should I set
 the nodemask of the low framerate camera to 0 for most of the time, and then
 set its nodemask to ~0, when I want it to render to its window?

 I'm hoping there is a better way, because I use the nodemask of the cameras
 for other purposes.

 Thanks!
 -Chris
 ___
 osg-users mailing list
 osg-users@lists.openscenegraph.org
 http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org