I control the update rate of slave cameras by inserting them into the scene graph as needed. In my PostDrawCallback for the camera I can remove the camera again when I do not require further updates.
This way, I can do on-demand updates of my simulation (we're doing 4G and 5G radio coverage computations in OpenGL) Christian 2014-10-01 9:50 GMT+02:00 Robert Osfield <robert.osfi...@gmail.com>: > Hi Julien, > > From what you've written is next to impossible to know what you actually > mean. What is a "full GPU policy"? I don't know. Perhaps others do. > > And when you talk about frame rate control, again I don't know what you > mean in this context. > > The general meaning of frame rate control is how you manage the the call > to viewer.frame() within your frame loop. However, the way you use the > expression doesn't at all seem to fit this normal usage. > > I remain perplexed, I'm sure others will be too. > > Robert. > > On 1 October 2014 08:32, Julien Valentin <julienvalenti...@gmail.com> > wrote: > >> Thanks Robert for you quick reply, >> and excuse my lack of precision for a problem that is to long to explain >> in details. I've just tried to be generic in my question thinking: >> "There surely are people that encountered this problem with realtime >> environment mapping" >> >> So my personal not generic problem is: >> I'm doing a gpu flow simulation in osg. I'm using a multiscale aproach >> and use a full GPU policy in order to determine which LOD to target. >> >> The osg model of this policy is based on the classic render to texture >> pattern: >> >> Code: >> >> camera->setComputeNearFarMode(osg::Camera::DO_NOT_COMPUTE_NEAR_FAR); >> camera->setRenderOrder(osg::Camera::PRE_RENDER); >> camera->setRenderTargetImplementation(osg::Camera::FRAME_BUFFER_OBJECT); >> camera->setProjectionMatrix(osg::Matrix::ortho2D(0, 1, 0, 1)); >> camera->setViewport(0, 0, _resolution.x(), _resolution.y()); >> texture->setTextureSize(_resolution.x(), _resolution.y(), >> _resolution.z()); >> camera->attach(osg::Camera::COLOR_BUFFER0, texture.get(), 0, >> osg::Camera::FACE_CONTROLLED_BY_GEOMETRY_SHADER); >> >> >> >> This policy is quite expensive(implies reduction of the whole volume so a >> lot of osg::Cameras) and don't have to be process each frame so I would >> like to control its framerate. >> >> As I don't use any geometry(but a quad), LOD can't be an escape and as >> the result of the frame control my entire simulation, I can't degrade the >> quality. >> >> >> >> >> robertosfield wrote: >> > Hi Julien, >> > >> > There are whole range of different ways to load balance, what route is >> best will depend entirely on the nature of your data and your >> requirements. All we know so far is that it's "expensive", done off >> screeen and doesn't need to be high quality. The generality of the >> problems means we can't provide any specific advice. >> > >> > >> > The most general way to load balance with scene graphs is to use Level >> of Detail nodes, LOD's - these need to be built into your scene graph when >> you create it. You can use the view's Camera's LODScale to adjust the which >> level of LOD child is selected for each view. >> > >> > >> > Whether LOD's at all appropriate for you particular usage case I >> absolutely cannot say as I really know next to nothing about the problem >> you are trying to solve. As I mentioned that are plenty of other ways of >> manage the load but I'm not about to write a book for you based on no >> information. If you want help you'll need to be specific and not wave your >> arms vaguely around, please tell us what you scene graph consistents of and >> the nature of the rendering you are wanting. >> > >> > >> > Robert. >> > >> > >> > >> > >> > >> > >> > On 30 September 2014 15:02, Julien Valentin < ()> wrote: >> > >> > > Hi, >> > > I'm doing a lot of offscreen renderings that are very expensive and >> "not so important" for the image to appears good. >> > > What would be the best way in order to limit the rendering framerate >> of these in order have more time for "more important" rendering? >> > > >> > > My idea was to override a geometry and control the rendering to the >> framebuffer with a timer in it, but if there's a more convenient way to do >> this i would be glad to know it >> > > Thank you! >> > > >> > > Cheers, >> > > Julien >> > > >> > > ------------------ >> > > Read this topic online here: >> > > http://forum.openscenegraph.org/viewtopic.php?p=61212#61212 ( >> http://forum.openscenegraph.org/viewtopic.php?p=61212#61212) >> > > >> > > >> > > >> > > >> > > >> > > _______________________________________________ >> > > osg-users mailing list >> > > () >> > > >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> ( >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> ) >> > > >> > >> > >> > ------------------ >> > Post generated by Mail2Forum >> >> >> ------------------ >> Read this topic online here: >> http://forum.openscenegraph.org/viewtopic.php?p=61221#61221 >> >> >> >> >> >> _______________________________________________ >> 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