[osg-users] Multi Projector edge blend and bend (distortion correction)

2009-03-11 Thread Albino Rodrigues
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)

2009-03-11 Thread Robert Osfield
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)

2009-03-11 Thread John Aughey
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)

2009-03-11 Thread Robert Osfield
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)

2009-03-11 Thread John Aughey
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)

2009-03-11 Thread Robert Osfield
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