Re: [osg-users] Glimpse into future support for distortion correction
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
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
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
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
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
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/