[osg-users] Multi Projector edge blend and bend (distortion correction)
Hi, I was wondering if OSG has distortion correction built in for multi projector displays so that the edges blend nicely. I vaguely recall reading that OSG has built in support for this but can't seem to find any information on it. (other than the post: http://www.mail-archive.com/osg-us...@openscenegraph.net/msg10361.html) Thanks in advance, Bino ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Multi Projector edge blend and bend (distortion correction)
Hi Bino, The OSG only currently has distortion correction built in for spherical displays with a single projector. General distortion correction can be implemented on top of osgViewer in the same way as the I implemented the spherical display distortion correction - using a series of slave cameras that to a render to texture then a second distortion correction/edge blending pass for each of the displays. Robert. On Wed, Mar 11, 2009 at 7:06 AM, Albino Rodrigues b...@vrspace.com.au wrote: Hi, I was wondering if OSG has distortion correction built in for multi projector displays so that the edges blend nicely. I vaguely recall reading that OSG has built in support for this but can’t seem to find any information on it. (other than the post: http://www.mail-archive.com/osg-us...@openscenegraph.net/msg10361.html) Thanks in advance, Bino ___ 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] Multi Projector edge blend and bend (distortion correction)
Robert- I'm glad this topic was brought up. I am doing some work with non-linear distortion correction and have taken the code in osgViewer for doing the spherical distortion and made it more generic to accept a grid of points that represent the distortion mesh. This is just what the spherical distortion routines are doing in osgViewer, except rather than computing the points, it takes a rectangular grid. What I would like to do is integrate this distortion code into osgViewer to allow for more generic distortion grids to be used. The existing spherical distortion routines could use this by computing the appropriate distortion grid and supplying that grid to this more general distortion generator. The result would be that the existing spherical distortion would still work, and more general distortion patterns can be given too. If you think this would be useful, let me know and I'll integrate the changes and make a patch. John On Wed, Mar 11, 2009 at 4:06 AM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Bino, The OSG only currently has distortion correction built in for spherical displays with a single projector. General distortion correction can be implemented on top of osgViewer in the same way as the I implemented the spherical display distortion correction - using a series of slave cameras that to a render to texture then a second distortion correction/edge blending pass for each of the displays. Robert. On Wed, Mar 11, 2009 at 7:06 AM, Albino Rodrigues b...@vrspace.com.au wrote: Hi, I was wondering if OSG has distortion correction built in for multi projector displays so that the edges blend nicely. I vaguely recall reading that OSG has built in support for this but can’t seem to find any information on it. (other than the post: http://www.mail-archive.com/osg-us...@openscenegraph.net/msg10361.html) Thanks in advance, Bino ___ 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] Multi Projector edge blend and bend (distortion correction)
Hi John, I'm certainly open to this approach - it's one I've considered for a while, so please post what code you have. Are you adding an extra class to manage the distortion correction? Robert. On Wed, Mar 11, 2009 at 3:10 PM, John Aughey j...@aughey.com wrote: Robert- I'm glad this topic was brought up. I am doing some work with non-linear distortion correction and have taken the code in osgViewer for doing the spherical distortion and made it more generic to accept a grid of points that represent the distortion mesh. This is just what the spherical distortion routines are doing in osgViewer, except rather than computing the points, it takes a rectangular grid. What I would like to do is integrate this distortion code into osgViewer to allow for more generic distortion grids to be used. The existing spherical distortion routines could use this by computing the appropriate distortion grid and supplying that grid to this more general distortion generator. The result would be that the existing spherical distortion would still work, and more general distortion patterns can be given too. If you think this would be useful, let me know and I'll integrate the changes and make a patch. John On Wed, Mar 11, 2009 at 4:06 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Bino, The OSG only currently has distortion correction built in for spherical displays with a single projector. General distortion correction can be implemented on top of osgViewer in the same way as the I implemented the spherical display distortion correction - using a series of slave cameras that to a render to texture then a second distortion correction/edge blending pass for each of the displays. Robert. On Wed, Mar 11, 2009 at 7:06 AM, Albino Rodrigues b...@vrspace.com.au wrote: Hi, I was wondering if OSG has distortion correction built in for multi projector displays so that the edges blend nicely. I vaguely recall reading that OSG has built in support for this but can’t seem to find any information on it. (other than the post: http://www.mail-archive.com/osg-us...@openscenegraph.net/msg10361.html) Thanks in advance, Bino ___ 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Multi Projector edge blend and bend (distortion correction)
I haven't thought through how the interface would look with osgViewer. In my external implementation, I do have a class that holds on to the distortion geometry and allows new meshes to be given to change the pattern (for dynamic calibration). One thought is to have an osgViewer::DistortionManager class that could be retrieved through an osgView::getDistortionmanager() accessor method. If a distortion system is created, it would be managed by the osgViewer::DistortionManager object and manipulated by getting that object through the osgViewer object. John On Wed, Mar 11, 2009 at 10:49 AM, Robert Osfield robert.osfi...@gmail.comwrote: Hi John, I'm certainly open to this approach - it's one I've considered for a while, so please post what code you have. Are you adding an extra class to manage the distortion correction? Robert. On Wed, Mar 11, 2009 at 3:10 PM, John Aughey j...@aughey.com wrote: Robert- I'm glad this topic was brought up. I am doing some work with non-linear distortion correction and have taken the code in osgViewer for doing the spherical distortion and made it more generic to accept a grid of points that represent the distortion mesh. This is just what the spherical distortion routines are doing in osgViewer, except rather than computing the points, it takes a rectangular grid. What I would like to do is integrate this distortion code into osgViewer to allow for more generic distortion grids to be used. The existing spherical distortion routines could use this by computing the appropriate distortion grid and supplying that grid to this more general distortion generator. The result would be that the existing spherical distortion would still work, and more general distortion patterns can be given too. If you think this would be useful, let me know and I'll integrate the changes and make a patch. John On Wed, Mar 11, 2009 at 4:06 AM, Robert Osfield robert.osfi...@gmail.com wrote: Hi Bino, The OSG only currently has distortion correction built in for spherical displays with a single projector. General distortion correction can be implemented on top of osgViewer in the same way as the I implemented the spherical display distortion correction - using a series of slave cameras that to a render to texture then a second distortion correction/edge blending pass for each of the displays. Robert. On Wed, Mar 11, 2009 at 7:06 AM, Albino Rodrigues b...@vrspace.com.au wrote: Hi, I was wondering if OSG has distortion correction built in for multi projector displays so that the edges blend nicely. I vaguely recall reading that OSG has built in support for this but can’t seem to find any information on it. (other than the post: http://www.mail-archive.com/osg-us...@openscenegraph.net/msg10361.html) Thanks in advance, Bino ___ 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 ___ 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] Multi Projector edge blend and bend (distortion correction)
Hi John, On Wed, Mar 11, 2009 at 4:20 PM, John Aughey j...@aughey.com wrote: I haven't thought through how the interface would look with osgViewer. In my external implementation, I do have a class that holds on to the distortion geometry and allows new meshes to be given to change the pattern (for dynamic calibration). One thought is to have an osgViewer::DistortionManager class that could be retrieved through an osgView::getDistortionmanager() accessor method. If a distortion system is created, it would be managed by the osgViewer::DistortionManager object and manipulated by getting that object through the osgViewer object. One aspect that we might be able to leverage is that the Camera's that are doing the distortion correction just contain standard OSG scene graph that is built in a way that it contains a simple screen aligned texture geometry. Adjusting the distortion correction just comes down to adjusting the geometry. A distortion manager could just hang off this distortion geometry subgraphs, or perhaps even be a custom node that manages the subgraph for us. One aspect you'd need to take into account is some distortion correction techniques will take a single Texture2D as input while others might require a Texture2DArray or a TextureCube (as in the case of the panoramic subgraphs.) Another little aspect to osgViewer and the .view ascii configuration file format has been that my plan has been to serialize all viewer cameras to a .view file, including any custom scene graphs they might have. This viewer configuration could then be reloaded to configure the viewer. Any distortion manager class we come up with would need to capable of supporting serialization out to the .view configuration file. It's worth noting that the .view plugin just uses the standard .osg ascii parsing code to do it's work, so embedded standard nodes within it should be straight forward. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org