Re: [osg-users] Glimpse into future support for distortion correction

2007-02-22 Thread Anders Backman

If that is your image of Umeå, I don't think you have seen Umeå from its
best side...
A CPP file :-)

I know we are coding quite a lot, but I would have expected some more colors
in your image of Umeå!!


Did you forget to attach an image?

/Anders

On 2/22/07, Robert Osfield [EMAIL PROTECTED] wrote:


Hi All,

One of the tasks bubbling along in the background is support for
distortion correction in osgViewer.  osgViewer itself won't provide
the support but will allow you to set up the required cameras and
distortion meshes as custom scene graph elements.   This week I
generalised a couple of components in osgViewer, SceneView and Camera
to allow to work, ableit in app hardwired way.

Eventually you'll be able to set this all up from a configuration file
which will specify both the camera set up and the distortion
correction mesh, then in any osgViewer::Viewer app you'll just need to
load the configuration file and your app will be able to support novel
displays without the need for extra distortion correction hardware, or
coding from yourself.

As a proof of concept the osgdistortion example now has an extra code
path that creates 6 RTT Camera's to generate a cube environment map
and one HUD camera for distorion correction all within a single
osgViewer::Viewer.  The user of the viewer only sees the result of the
last HUD camera, so it'll feel like you using one fancy camera rather
than 7...

What do the results look like?  See attached image of the town of Umea
(thanks for VRLab for the model :-)

The distortion correction here is for a mythical 360 degree projector
at the center of dome, no such beast exists, but the code in
osgdistortion is about proof of concept.  Proper math models for the
distortion correction of real physical display configurations will
follow, although not this week.

Robert.

___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/





--



Anders Backman   Email:[EMAIL PROTECTED]
HPC2N/VRlab  Phone:+46 (0)90-786 9936
Umea university  Cellular: +46 (0)70-392 64 67
S-901 87 UMEA SWEDEN Fax:  +46 90-786 6126
  http://www.cs.umu.se/~andersb
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Re: [osg-users] Glimpse into future support for distortion correction

2007-02-22 Thread Rafa Gaitan

just change .cpp extension to .gif ;)

On 2/22/07, Anders Backman [EMAIL PROTECTED] wrote:


If that is your image of Umeå, I don't think you have seen Umeå from its
best side...
A CPP file :-)

I know we are coding quite a lot, but I would have expected some more
colors in your image of Umeå!!


Did you forget to attach an image?

/Anders

On 2/22/07, Robert Osfield [EMAIL PROTECTED]  wrote:

 Hi All,

 One of the tasks bubbling along in the background is support for
 distortion correction in osgViewer.  osgViewer itself won't provide
 the support but will allow you to set up the required cameras and
 distortion meshes as custom scene graph elements.   This week I
 generalised a couple of components in osgViewer, SceneView and Camera
 to allow to work, ableit in app hardwired way.

 Eventually you'll be able to set this all up from a configuration file
 which will specify both the camera set up and the distortion
 correction mesh, then in any osgViewer::Viewer app you'll just need to
 load the configuration file and your app will be able to support novel
 displays without the need for extra distortion correction hardware, or
 coding from yourself.

 As a proof of concept the osgdistortion example now has an extra code
 path that creates 6 RTT Camera's to generate a cube environment map
 and one HUD camera for distorion correction all within a single
 osgViewer::Viewer.  The user of the viewer only sees the result of the
 last HUD camera, so it'll feel like you using one fancy camera rather
 than 7...

 What do the results look like?  See attached image of the town of Umea
 (thanks for VRLab for the model :-)

 The distortion correction here is for a mythical 360 degree projector
 at the center of dome, no such beast exists, but the code in
 osgdistortion is about proof of concept.  Proper math models for the
 distortion correction of real physical display configurations will
 follow, although not this week.

 Robert.

 ___
 osg-users mailing list
 osg-users@openscenegraph.net
 http://openscenegraph.net/mailman/listinfo/osg-users
 http://www.openscenegraph.org/




--



Anders Backman   Email: [EMAIL PROTECTED]
HPC2N/VRlab  Phone:+46 (0)90-786 9936
Umea university  Cellular: +46 (0)70-392 64 67
S-901 87 UMEA SWEDEN Fax:  +46 90-786 6126
   
http://www.cs.umu.se/~andersbhttp://www.cs.umu.se/%7Eandersb
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Re: [osg-users] Glimpse into future support for distortion correction

2007-02-22 Thread Robert Osfield

Forgot to mention, to try it out:

osgdistortion mymodel.osg --dome

Robert.
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] Glimpse into future support for distortion correction

2007-02-22 Thread Toshiyuki TAKAHEI
Hi Robert,

On Thu, 22 Feb 2007 17:33:28 +
Robert Osfield [EMAIL PROTECTED] wrote:
 
 One of the tasks bubbling along in the background is support for
 distortion correction in osgViewer.  osgViewer itself won't provide
 the support but will allow you to set up the required cameras and
 distortion meshes as custom scene graph elements.   This week I
 generalised a couple of components in osgViewer, SceneView and Camera
 to allow to work, ableit in app hardwired way.

Nice work! It represents promising possibility of the osgViewer.

By the way, 'distortion meshes as custom scene graph elements' is
reasonable, but in my experiences, I need 'pixel level' distortion
in many cases. So I made a distortion/blending map creation tool
'Projection Designer', and also defined the distortion map
as an image file which encodes pixel warp mapping in color of pixels.
http://orihalcon.jp/projdesigner/
(Projection Designer is currently Windows version only, but its Linux
version is almost done.)

I also made osgdistortion based real-time distortion viewer:
http://orihalcon.jp/download/osgdistortviewer_src.zip
At that time I used Producer's camera configuration file to
specify the off-screen rendering matrixes. Maybe osgViewer also
need such kind of configuration data.

Regards,



Forwarded by Toshiyuki TAKAHEI [EMAIL PROTECTED]
--- Original Message ---
From:Toshiyuki TAKAHEI [EMAIL PROTECTED]
To:  osg-users@openscenegraph.net
Date:Mon, 07 Aug 2006 15:08:56 +0900
Subject: [osg-users] BOF presentation : osgDirector, ProjectionDesigner and 
osgdistortviewer


Hi all,

At the end of the Siggraph2006 BOF, I showed some of my OSG related
works.

1) osgDirector and Orihalcon framework

Last year I released osgDirector and Orihalcon framework
at http://orihalcon.sourceforge.net/.
osgDirector is a wxWidgets based graphical scene graph editor.
It contains some libraries which wrap and extend the OSG features.

2) ProjectionDesigner and osgdistortviewer

The second topic is about my recent work.
ProjectionDesigner is a geometry correction and edge blending
setup tool for immersive environment with a curved screen.
I made it for full dome projection with 13 channels.
http://orihalcon.jp/projdesigner/
Once you complete the projector configuration with it,
you can export a distortion map file, a blend map file and
camera configuration file (for Producer).

This is a sample OSG program using them for real-time
geometry / edge blending correction.
http://orihalcon.jp/download/osgdistortviewer_src.zip
I made it based on osgprerender, and add some additional arguments.
Ex.
osgdistortviewer.exe --distortionmap distort.png --blendmap blend.png 
dumptruck.osg
(distortion with a polygon mesh)
Ex.
osgdistortviewer.exe --shaderDistortion --distortionmap distort.png --blendmap 
blend.png dumptruck.osg
(distortion with GLSL shaders)

It's not easy to set up many projectors with it,
but anyway, you can do it.


I hope these projects would be helpful for you.

-- 
Toshiyuki TAKAHEI [EMAIL PROTECTED]


___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] Glimpse into future support for distortion correction

2007-02-22 Thread Robert Osfield

Hi Toshiyuki,

On 2/22/07, Toshiyuki TAKAHEI [EMAIL PROTECTED] wrote:

Nice work! It represents promising possibility of the osgViewer.

By the way, 'distortion meshes as custom scene graph elements' is
reasonable, but in my experiences, I need 'pixel level' distortion
in many cases.


The general approach I've take could easily use a texture map to set
up the normals, its just a matter of setting up the scene graph
approrpriate, you can use all the normal scene graph primitive for the
rendering of the distortion mesh.

In this instance the distortion mesh usedis just an osg::Geometry
convering the full screen, with vertices arranged as a grid, with each
vertex having a Vec3 tex coord normal pointing into the cubemap.  The
graphics hardware interpolates between the tex coords so that
resulting tex coord used to look up the cubemap should be interpolated
reasonably well.


So I made a distortion/blending map creation tool
'Projection Designer', and also defined the distortion map
as an image file which encodes pixel warp mapping in color of pixels.
http://orihalcon.jp/projdesigner/
(Projection Designer is currently Windows version only, but its Linux
version is almost done.)


Cool, would a OSX port be possible as well? ;-)

My hope for the config file support for osgViewer is that it'll make
it possible for you to output a configuration file that could be
loaded my osgViewer based apps.



I also made osgdistortion based real-time distortion viewer:
http://orihalcon.jp/download/osgdistortviewer_src.zip
At that time I used Producer's camera configuration file to
specify the off-screen rendering matrixes. Maybe osgViewer also
need such kind of configuration data.


The osgViewer config file would contain both the camera setup and the
distortion mesh (and any textures required).  The config file format
will be an extension of the .osg file format so it'll be possible to
embed mini scene graphs directly into the config file, so things like
external references to texture maps will all be possible.

Robert.
___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/


Re: [osg-users] Glimpse into future support for distortion correction

2007-02-22 Thread Toshiyuki TAKAHEI
Hi Robert,

On Thu, 22 Feb 2007 20:35:48 +
Robert Osfield [EMAIL PROTECTED] wrote:
 
  By the way, 'distortion meshes as custom scene graph elements' is
  reasonable, but in my experiences, I need 'pixel level' distortion
  in many cases.
 
 The general approach I've take could easily use a texture map to set
 up the normals, its just a matter of setting up the scene graph
 approrpriate, you can use all the normal scene graph primitive for the
 rendering of the distortion mesh.
 
 In this instance the distortion mesh usedis just an osg::Geometry
 convering the full screen, with vertices arranged as a grid, with each
 vertex having a Vec3 tex coord normal pointing into the cubemap.  The
 graphics hardware interpolates between the tex coords so that
 resulting tex coord used to look up the cubemap should be interpolated
 reasonably well.

Interesting. My distortion setup tool is intended to use with multiple
projections, and each PC renders only minimum required area into off-screen
buffer, not full cubemap, because of rendering performance.
Anyway, when I have time to work, I'll try to support these
distortion mesh output in my tool.


  So I made a distortion/blending map creation tool
  'Projection Designer', and also defined the distortion map
  as an image file which encodes pixel warp mapping in color of pixels.
  http://orihalcon.jp/projdesigner/
  (Projection Designer is currently Windows version only, but its Linux
  version is almost done.)
 
 Cool, would a OSX port be possible as well? ;-)

OK, I'll try. ;-)


 My hope for the config file support for osgViewer is that it'll make
 it possible for you to output a configuration file that could be
 loaded my osgViewer based apps.
 
 
  I also made osgdistortion based real-time distortion viewer:
  http://orihalcon.jp/download/osgdistortviewer_src.zip
  At that time I used Producer's camera configuration file to
  specify the off-screen rendering matrixes. Maybe osgViewer also
  need such kind of configuration data.
 
 The osgViewer config file would contain both the camera setup and the
 distortion mesh (and any textures required).  The config file format
 will be an extension of the .osg file format so it'll be possible to
 embed mini scene graphs directly into the config file, so things like
 external references to texture maps will all be possible.

Yes, the native support of camera setup configuration will
make the distortion/blending and cluster rendering be
transparent to contents. It's a really desirable solution!

Regards,

-- 
Toshiyuki TAKAHEI [EMAIL PROTECTED]


___
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/