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/
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/
[osg-users] Earth model with terrain relief
Hi, Today I tried to create an earth model with terrain relief using osgdem and Blue Marble images. Here is the steps: http://earthobservatory.nasa.gov/Newsroom/BlueMarble/BlueMarble_monthlies.html Download 'topographic shading' image, split it to 2048x2048 west.png and 2048x2048 east.png images. Download 'topography' image, resize it to 4096x2048 topo.png image. Prepatring: (http://www.openscenegraph.org/osgwiki/pmwiki.php/UserGuides/Osgdem) gdal_translate west.png west.tif gdaladdo -r average west.tif 2 4 8 16 32 gdal_translate east.png west.tif gdaladdo -r average east.tif 2 4 8 16 32 gdal_translate topo.png west.tif gdaladdo -r average topo.tif 2 4 8 16 32 Then, at first, I tried to generate a height field. osgdem --xx 10 --yy 10 -t west.tif \ --xx 10 --yy 10 -d topo-west.tif \ -l 3 -v 1.0 -o test.ive >> works fine. I got a height field of the world. Next, I tried to generate a textured earth model. (http://www.andesengineering.com/BlueMarbleViewer/) osgdem --bluemarble-west -t west.tif --bluemarble-east -t east.tif \ --geocentric -l 5 -o earth.ive >> works fine. I got a high resolution textured globe model. Then I tried to generate an earth model with terrain relief. osgdem --bluemarble-west -t west.tif --bluemarble-east -t east.tif \ --whole-globe -d topo.tif --geocentric -v 1.0 -l 5 -o earth.ive >> Not works properly. I got a high resolution textured globe model without any height relief. It seems that the current osgdem can't generate a globe height field. Or do I have any mistakes in arguments? regards, -- Toshiyuki TAKAHEI <[EMAIL PROTECTED]> ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
[osg-users] osgField NodeKit released
Hi all, Today I released osgField NodeKit, which provides a universal way to implement and serialize animations based on osgIntrospection. http://orihalcon.jp/osgfield/ It's a kind of value update event chain mechanism like OpenInventor and VRML2's Field/Engine classes. With this NodeKit you can also write exporters which supports not only transform animations, but also material animation and more. I also updated my osgDirector to support the osgField functions. You can design both the scene graph and animation event chains from its graphical user interfaces. http://orihalcon.jp/orihalconfw/ Any comments, suggestions and contributions are welcome. I hope you'll like it. Have fun! -- Toshiyuki TAKAHEI ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
Re: [osg-users] BOF presentation : osgDirector, ProjectionDesigner and osgdistortviewer
Hi Robert, On Mon, 7 Aug 2006 11:09:36 +0100 "Robert Osfield" <[EMAIL PROTECTED]> wrote: > > Cool projects. Feel free to add links to them all under the Community > section, and note on the front page about the new ProjectionDesigner. Thank you for your suggestion. I'll put the link to the OSG web site soon. > > I haven't download the source to these projects yet, so can't know for > sure yet, but looking at your websites it looks like the underlying > API's you've used are portable, but not yet ported to other platforms > beyond Windows. Do you have any plans for other platform support? Yes. ProjectionDesigner depends on Qt and DevIL library, so I think it is easy to port it to Linux, Macintosh and other platforms. But currently I don't have any proper PCs to work with, so currently I have no plan to port it by myself. If some of you could help me, highly welcome. I'll put this project to the sourceforge soon. > One of the items I have thought about tackling, over the coming six > months, is adding better support for multi-pipe & distortion > correction & edge blending. Current we have Producer to support > multi-pipe and its configuration files for setting it up, it'd be nice > to be able to have configuration files to add the distortion > correction and edge blending too. > > If we have this in core then it'd be easy to add support for novel > displays to normal OSG apps. Your ProjectionDesigner may well provide > a useful to for generating the configuration files. Before I began this project, I couldn't found any open source projects of distortion correction for curved screens. Open Producer has powerful solution for multi-pipe rendering, but it still lacks the non-linear correction and edge blending. That's why I made this software. ProjectionDesigner is useful tool for this purpose, but I think more important thing is universal format of configuration files. Set of distortion map, blend map and Producer's camera configuration file will work for any shape of screen with any number of projectors. Scalable realtime 3D framework such as OSG should support this kind of universal output interface. In the future if you have a better setup tool than the ProjectionDesigner, I hope it would export configuration files in the same format. In Producer's .cfg file, I want to write like: Camera "left" { Lens { Frustum -0.0921693 0.0921693 -0.0624869 0.0624869 0.1 100; } Offset { Rotate -45.0 1 0 0; } Distortion distortmap_left.png; Blend blendmap_left.png; } With this modification, Producer's configuration file would work for any kind of projection environments. Current Producer may be terminated by the last two lines, but at least I want Producer to just ignore the unknown tokens and provide some functions to retrieve them. Of course if you put these correction in OSG / Producer core, it would be highly useful. Regards, -- Toshiyuki TAKAHEI <[EMAIL PROTECTED]> ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
[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/