Re: [osg-users] how add SDL in osg project
Hi,Alberto Luaces Thanks for the links that you have shared it really help me. ... Thank you! Cheers, Paul -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20308#20308 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] converting .osg to .obj
Hello, Is there a way to convert an .osg file to an .obj file, a .3ds file, or something similar. I am unable to open .osg files in 3ds max or Maya and hope to find some kind of plugin to convert the data. Thank you, Scott -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20310#20310 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] converting .osg to .obj
Hi Scott, The fastest way is to use osgconv application, which automatically loads osgdb_obj plugin for writing: # osgconv filename.osg filename.obj It seems the osgdb_3ds plugin does not support writing at present. But this will soon be solved by Sukender's submission, I think. :D 2009/11/25 Scott Martin smar...@martinarts.com: Hello, Is there a way to convert an .osg file to an .obj file, a .3ds file, or something similar. I am unable to open .osg files in 3ds max or Maya and hope to find some kind of plugin to convert the data. Thank you, Scott -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20310#20310 ___ 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] converting .osg to .obj
Hi, see osgconv --formats jp Scott Martin wrote: Hello, Is there a way to convert an .osg file to an .obj file, a .3ds file, or something similar. I am unable to open .osg files in 3ds max or Maya and hope to find some kind of plugin to convert the data. Thank you, Scott -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20310#20310 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] converting .osg to .obj
Hi Scott, as far as I know, a 3DS reader/writer plugin is going to be merged soon into the SVN version. -- Alberto ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] picture in picture...
Views get rendered in order added. (at least in single threaded mode) Just add your 'in picture' viewport last, where you want it. You will need to turn off clearing of the colour buffer if you want to see your main scene through the picture . And maybe call setAllowEventFocus(false); on the views camera to prevent it nicking mouse keyboard events. 2009/11/24 Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil All, This is probably a silly question but what’s the best way to do a “picture in picture” using CompositeViewer? Right now I have multiple views added to my viewer and I want to have control as to which one gets rendered on top of the others in the main viewer window… Thanx, -Shayne ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- http://www.ssTk.co.uk ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Databasepager + multiple views + different camera positions = memory leak?
Hi, Robert! You are free to use my code as you wish :-) Do I need to download anything extra wrt the earth.ive you linked to? It does not contain any PagedLOD nodes (at least the statistics view does not report any), and so will not have any issues. Thanks for looking into the issue and thanks for a great scene graph, btw! Cheers, Michael -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20321#20321 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [osgOcean] Wake effects?
Ok I reckon the water.frag has used up the maximum allowed uniforms for that card, I've come across this issue before with the 7 series cards. There are some tricks to get around this, so I'll see if I fix it. Is there any chance you could set the notify level to osg::NotifySeverity::INFO and then pipe the output from oceanExample to a file and send it to me? It might tell me how many I've used and are allowed to use on that card. You can do it easily in the command prompt (win32) by using the command oceanExample ocean_output.txt Regards, Kim. 2009/11/25 Tian Ma tianxiao...@foxmail.com: Hi Kim: My graphics card is 'NVIDIA GeForce 7300 LE'. The version number = r181 could work normally on this card. And since r182 to 185, the error emerged. Cheers, Tian Kim Bale wrote: Hi Tian, Last night I committed the changes that permit alpha tranparencies to be used in conjunction with the glare and depth of field effects. This required the use of multiple render targets ( http://code.google.com/p/osgocean/source/detail?r=183 ) and some changes to some of the shaders. It looks like that's used up the maximum varying attributes of your card and also possibly your card doesn't support MRTs. What graphics card are you using? Could you set the notify level to osg::notifylevel::info and dump the contents to file so I can see exactly what the problem is? Cheers. Kim. 2009/11/24 Tian Ma : Hi Kim, I update the source code from SVN today and generate the new ocean project. When run the example, some errors emerge. The error image is as follow link: http://storage.openlab.net.cn/forums/2009-11-24/1981569/%e9%94%99%e8%af%af.JPG Something wrong with the water.frag? Thank you! Cheers, Tian Kim Bale wrote: Hello Erik, Sorry I missed your post yesterday. There isn't really any support for wakes on the sea surface at the moment, although it's definitely something that needs addressing. However, I just had a submission which uses the depth buffer to add breaking foam to the shoreline. This does sort for work for other objects on sea, like ships, but it doesn't look very pretty at the moment. You're more than welcome to have a play with the effect and see if you can do anything with it. From what I understand what you'd need to do is add a sort of sloped geometry which tracks you your boat, that would get picked up in the depth buffer and the same foam texture used on the wave crests is applied to it. It's been checked into the trunk, but like I say it needs a little work. There was a discussion about it here: http://thread.gmane.org/gmane.comp.graphics.openscenegraph.cvs/6252 Cheers. Kim. 2009/11/18 Erik Johnson : Hi, I thought this would have come up before, but does anyone have suggestions how to render a boat's wake? Using osgParticle provides an ok solution, but falls apart rapidly if the ocean waves are too large (the particles go underwater). Would be cool to leverage the same texturing effects as the wave crest foam stuff - just not sure how. :) Thanks for any suggestions, Erik -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=19849#19849 ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Post generated by Mail2Forum -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20196#20196 ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Post generated by Mail2Forum -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20309#20309 ___ 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] broken osgconv.exe
Ted, I downloaded the osg precompiled package you are using (openscenegraph-all-2.8.2-win32-x86-vc90-Release.zip), and I checked that indeed, the osgdb_ive.dll depends on a zlib1.dll that was compiled with VS 2005 SP1 (which is weird). I presume it is also the case of libpng, curl and tiff. So, to move on, you have to recompile osg from the sources using the vc90 dependencies, or install the VC++ 2005 redistribuable packages (there are two if my memory serves me right ), I think you didn't install the 2005 *SP1 * redistribuable package (http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647displaylang=en) . Regards, Mourad On Tue, Nov 24, 2009 at 9:03 PM, ted morris wrote: Yes, I think I resolved finding the 3rdparty dependencies. But for some reason, the osgdb_xxx pluggins listed in the last e-mail: osgdb_gz osgdb_curl osgdb_ive osgdb_png osgdb_tiff osgdb_tiffd dependencywalker shows that these pluggin dlls are still looking for MSVCR80.DLL *and* MSVCR90.DLL And the other pluggins can't find MSVCR90.DLL. bizarre. thanks, t Well, I tried dependencywalker.com and opened up the pluggins. On Mon, Nov 23, 2009 at 7:24 PM, Mourad Boufarguine wrote: Hi Ted, You can use the Dependency Walker (http://www.dependencywalker.com/) to check the version number of the runtime, the dependencies were compiled against. I just tried it with the zlib and png dlls contained in VisualStudio 9 (2008) SP1 prebuild dependencies ( http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies), and I found that the release versions were compiled with the 9.0.30729 runtime, which is actually 2008 SP1. The debug version, though, was compiled with the 9.0.21022 runtime , which is the 2008 runtime. The zlib is used in both ive and gz plugins. I don't see how you get the message about the 2005 runtime dependency. Double check in the output window of VS that the zlib and png dlls that are actually loaded are the good ones. Regards, Mourad On Tue, Nov 24, 2009 at 1:21 AM, ted morris wrote: credist_x86 VisualStudio 2005 (v8) runtimes ___ 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] [osgPlugins] osganimation plugin and static linking
Hi Kazimir, On Tue, Nov 24, 2009 at 6:57 PM, Kazimir De Paris stratbo...@gmail.com wrote: Well, I ended up making it work ! As a matter of fact, it came to me all of a sudden that I could directly embed the osganimation plugin source code into my project. And as the plugin is only one single source file (ReaderWriter.cpp), it was not a big deal... Is your application opensource under the same license as the osgAnimation plugins (i.e. OSGPL)? If not then just copying code is not legal and is something you should refrain from doing. To link in plugins use the macro's as shown in the osgstaticviewer example. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Mac bundle distribution can't use plugin
I Haven't fixed my issues yet so here comes some more info. This is what I get when listing dependencies using otool. I have massaged the libs extensivly using install_name_tool... [fi...@mpq]:[~/Documents/Code/OSGTests/Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L BasicApp BasicApp: @loader_path/libosgDB.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgUtil.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgGA.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgText.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgViewer.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosg.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0) [fi...@mpq]:[~/Documents/Code/OSGTests/Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L libOpenThreads.11.dylib libOpenThreads.11.dylib: @loader_path/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) [fi...@mpq]:[~/Documents/Code/OSGTests/ Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L ../PlugIns/osgPlugins-2.9.6/osgdb_obj.so ../PlugIns/osgPlugins-2.9.6/osgdb_obj.so: @loader_path/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) @loader_path/libosg.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgDB.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgUtil.61.dylib (compatibility version 61.0.0, current version 2.9.6) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) And the output from the failing loading of the plugin is a before (in first post). Any ideas ? /F On Mon, Nov 23, 2009 at 9:52 AM, Filip Wänström filip.wanst...@gmail.com wrote: Hi, thanks for the answer but I am using CMake/regular makefiles to do all my building and using the OSX Ingest into bundle script that comes with osg. I just presumed it did all magic but maybe I should check out the actual paths in the libs. I'll be back with a report. /Filip On Fri, Nov 20, 2009 at 6:21 PM, Stephan Maximilian Huber ratzf...@digitalmind.de wrote: Hi Filip, check your system.log-file -- I am pretty sure the osgdb_obj pluging refers to the osg-dylibs in /usr/lib or similar. You'll have to massage the paths to the libs stored in the plugin via install_name_tool in a post-build-step. Paths to libs are hardcoded in the object-file when linked. You can change them to something better suited like @loader_path.../pipapo. Try googling for install_name_tool and @loader_path to get an idea. If you are using the deprecated XCode-project and embed the osg frameworks into your app and the obj-plugin into plugins it should work out of the box whithout fiddling around with install_name_tool. cheers, Stephan Filip Wänström schrieb: Hi, I have problems with distributing self-contained applications on the mac. I have reduced my issues by building a very simple example that basically only opens a window and loads an .obj file. Using OSG_NOTIFY_LEVEL=INFO (DEBUG is the same + a lot more, but unrelated) I get the following output: [fi...@mpq]:[~/Documents/Code/OSGTests/]$ ./_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS/BasicApp GraphicsContext::setWindowingSystemInterface() 0xc0e930 0xa13c50 Initiating Constructing BasicApp 1 Listing plugins plugin: /Users/filip/Documents/Code/OSGTests/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/PlugIns/osgPlugins-2.9.6/osgdb_obj.so Found file: data/models/clogo.obj
Re: [osg-users] VBO's - lifetime.
HI Nico, This is clearly a bug, as it certainly shouldn't crash with this type of usage. I will be investigating various bugs today and will have a look at this one as well. Which platform are you working on? Robert. On Tue, Nov 24, 2009 at 8:18 PM, Nico Kruithof n...@nghk.nl wrote: Hello, When a node with VBO's enabled outlives the lifetime of it's renderer, I get an access violation in GLBufferObjectSet::orphan when I try to destroy the node. I tried to write down the scenario: using namespace osg; ref_ptrNode node(new Node); ref_ptrGeometry geom(new osg::Geometry); // ... fill geom geom-setUseVertexBufferObjects(true); node-addDrawable(geom.get()); { ref_ptrosgViewer::Viewer viewer(new osgViewer::Viewer()); viewer-setSceneData(node); viewer-frame(); // render for a while viewer = NULL; // The viewer is destroyed here } node = NULL; // This gives the access violation. Now if I don't set geom-setUseVertexBufferObjects(true); everything works fine. Do you still need a valid render context or a valid viewer to be able to clean up the VBO's? Nico ___ 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] PagedLOD/ProxyNode design discussion
Hi, got another opinion on the PagedLOD and ProxyNode topic. :-) We have been using both nodes for stuff like pseudo loaders as well and I would recommend to change the interface a little bit. There should be a common interface for all pageable nodes like: class PageingNode : public Group {} and then: class ProxyNode : public PageingNode {} class PagedLOD : public PageingNode {} and now one can easily add custom implementations on top of PageingNode like class MyCustomNodeWhichRefreshesTheSubgraphEvery10Seconds : public PageableNode {} The design of the databasepager would be cleaner as well. Regards, Richard ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Mac bundle distribution can't use plugin
And finally, I have a founf the fix. These are happy times! The plugin loader_path should be pointing to the libs from the path of the plugin. This means that the otool listing should be: $otool -L osgdb_obj.so osgdb_obj.so: @loader_path/../../MacOS/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) @loader_path/../../MacOS/libosg.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/../../MacOS/libosgDB.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/../../MacOS/libosgUtil.61.dylib (compatibility version 61.0.0, current version 2.9.6) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) And then it all works. I will make an example of this so that others don't have to spend weeks to support mac deployment! /Filip On Wed, Nov 25, 2009 at 10:46 AM, Filip Wänström filip.wanst...@gmail.com wrote: I Haven't fixed my issues yet so here comes some more info. This is what I get when listing dependencies using otool. I have massaged the libs extensivly using install_name_tool... [fi...@mpq]:[~/Documents/Code/OSGTests/Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L BasicApp BasicApp: �...@loader_path/libosgDB.61.dylib (compatibility version 61.0.0, current version 2.9.6) �...@loader_path/libosgUtil.61.dylib (compatibility version 61.0.0, current version 2.9.6) �...@loader_path/libosgGA.61.dylib (compatibility version 61.0.0, current version 2.9.6) �...@loader_path/libosgText.61.dylib (compatibility version 61.0.0, current version 2.9.6) �...@loader_path/libosgViewer.61.dylib (compatibility version 61.0.0, current version 2.9.6) �...@loader_path/libosg.61.dylib (compatibility version 61.0.0, current version 2.9.6) �...@loader_path/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0) [fi...@mpq]:[~/Documents/Code/OSGTests/Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L libOpenThreads.11.dylib libOpenThreads.11.dylib: �...@loader_path/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) [fi...@mpq]:[~/Documents/Code/OSGTests/ Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L ../PlugIns/osgPlugins-2.9.6/osgdb_obj.so ../PlugIns/osgPlugins-2.9.6/osgdb_obj.so: �...@loader_path/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) �...@loader_path/libosg.61.dylib (compatibility version 61.0.0, current version 2.9.6) �...@loader_path/libosgDB.61.dylib (compatibility version 61.0.0, current version 2.9.6) �...@loader_path/libosgUtil.61.dylib (compatibility version 61.0.0, current version 2.9.6) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) And the output from the failing loading of the plugin is a before (in first post). Any ideas ? /F On Mon, Nov 23, 2009 at 9:52 AM, Filip Wänström filip.wanst...@gmail.com wrote: Hi, thanks for the answer but I am using CMake/regular makefiles to do all my building and using the OSX Ingest into bundle script that comes with osg. I just presumed it did all magic but maybe I should check out the actual paths in the libs. I'll be back with a report.
Re: [osg-users] PagedLOD/ProxyNode design discussion
Hi Chris, I can't help but feel that you are trying to making this more complex than it needs to be. First up pre-loading a plugin to handle extensions is easy, as it's already built into the core OSG. Try -e ext which preload the plugin of the given extension. osgconv -e ModifyTerrain model-in.ive model-out.ive This would preload your ModifyTerrain plugin and it then can handle all file loads and decide what to do with them. osgviewer supports the same option. Programmatically it's just a single line call to: osgDB::Registry::instance()-loadLibrary(osgDB::Registry::instance()-createLibraryNameForExtension(ModifyTerrain); Another aspect of the way the plugin mechanism works is that if you just added the extension directly to the osgconv line the ModifyTerrain plugin would be loaded first automatically anyway, so there after can handle all filenames as it'll be the first plugin in the list. osgconv model-in.ive.ModifyTerrain model-out.ive Finally, changing osgconv's to add support recursion and adding your optional extension on to internal should be trivial. I really can't see a need or great value in adding the extra complexity of a getCombinedFilename() or a osgDB::ModifyFilenameCallback. The later really seems like a silly leave of embedding extra callbacks to modify narrow features. There are already plenty of ways of overriding the read file, adding more isn't going to make the code any less extensible or flexible, it's just going to complicate things. Robert. On Tue, Nov 24, 2009 at 10:28 PM, Chris 'Xenon' Hanson xe...@alphapixel.com wrote: Robert Osfield wrote: Another possibility of how to tackle adding the proxy node would be to use the new support (in svn/trunk) in osgDB::Options for providing a custom ReadFileCallback. Using this you can override the way that objects are loaded. PagedLOD has now has a _databaseOptions field that you can use for this. This seems like the most likely to succeed, so I've been investigating how this would interact with the recursion code for osgconv. The problem I see is that hooking into the ReadFileCallback would work for normal scenegraph cull traversal loading (like osgViewer or any other app who is just loading via the pseudoloader). However, recursive osgconv can't just let the scenegraph do the loading for it in pagedLOD::traverse(). For one, it has to load all LODs. It also has to load each external file individually so that it can configure the loading and saving context properly (to preserve relative paths and such that are specific to each external child). But ReadFileCallback does the actual loading itself, rather than just providing the pathname of the file that the node in question (PagedLOD or ProxyNode) intends to load (which is what the too-specific getCombinedFileNameWithSuffix() method I made did). I feel that irrespective of anything to do with modifyterrain, pseudoloaders or suffixes, the idea of a getCombinedFilename() method (note, without WithSuffix) has merit. It simply decomposes the conglomerated merge-path-with-filename and load-merged-path methods into two discrete methods. In this way, the merge-path-with-filename operation doesn't have to be re-created elsewhere (in osgconv), which would be poor design. This issue arises even if we completely ignore pseudoloader suffixes. As an alternative, I investigated the potential of FindFileCallback. It is more along the lines of the more-minimal operation this calls for, but it too is called only from within the actual load operation, and so it's not what osgconv needs. There doesn't appear to be a way for osgconv to ask what-file-should-the-PagedLOD-try-to-load without actually calling for that file to be loaded. Altering FindFileCallback seems like taking it farther afield from its intended purpose, and therefore a bad idea. I'm sure you understand that I'm trying to keep application-specific implementations out of osgconv. The goal is to permit osgconv to do a bulk, recursive convert of a database while allowing a transparent pseudoloader to function during load. I'm trying to avoid messing with the persistent stored data attributes of the PagedLOD (like child names, and database path) so that when the modified database (which no longer needs the pseudoloader, because the modifications have been incorporated) is resaved, no trace of the pseudoloader remains. This can be used to freeze terrain modifications into a database so that they no longer need to be applied at runtime. I understand your wish to avoid domain-specific changes like the PagedLOD suffix. Would it be acceptable to instead devise an osgDB::ModifyFilenameCallback class, with an entry for it basically everywhere that FindFileCallback is available. PagedLOD's getCombinedFilename() would utilize this to expose load-time-filename-alteration without disrupting the stored child filename. In this
Re: [osg-users] Image update in ImageStream objects
Thank you Robert, this helped me. Mourad On Sat, Nov 21, 2009 at 4:57 PM, Robert Osfield wrote: HI Mourad, On Fri, Nov 20, 2009 at 5:51 PM, Mourad Boufarguine wrote: When using an ImageStream object (using ffmpeg, gif, quicktime... plugins for instance), is there a way to catch the image uptade event without messing with the plugins source code ? I am willing to apply image processing algorithms on video streams and I want to intercept new images to do the processing only on new images. There is no callback mechanism for catching calls to dirty(); Perhaps you could use an update callback that checks on each new frame whether the modifiedCount has changed since the last frame and then do your image processing then. Or just move the image processing down onto the GPU, the GPU is far better for doing image processing than the CPU so you'd likely gain in performance. Robert. ___ 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] PagedLOD/ProxyNode design discussion
Hi Richard, On Wed, Nov 25, 2009 at 9:49 AM, Schmidt, Richard richard.schm...@eads.com wrote: Hi, got another opinion on the PagedLOD and ProxyNode topic. :-) We have been using both nodes for stuff like pseudo loaders as well and I would recommend to change the interface a little bit. There should be a common interface for all pageable nodes like: class PageingNode : public Group {} and then: class ProxyNode : public PageingNode {} class PagedLOD : public PageingNode {} and now one can easily add custom implementations on top of PageingNode like class MyCustomNodeWhichRefreshesTheSubgraphEvery10Seconds : public PageableNode {} I can see value in this, but I'm not sure how easy it would be to come up with the PagingNode base class - it can't just subclass from osg::Group. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Disabling culling for a geode
Hi Guy, On Tue, Nov 24, 2009 at 10:59 PM, Guy Volckaert guy.volcka...@meggitt.com wrote: Is there a way to disable culling for a geode. Essentially, I want the geode render every frame - usefull for skyboxes and skydomes. I tried calling setCullingActive(false) but that does not work. This should work just fine. What makes you think it doesn't work? I'm not even sure why you'd need to disable culling though as the skybox/skydome's bouding volume should be on screen and not culled any way. The only way I was able to make it work, so far, is by setting the Geometry::setInitialBound(...) to something very big. But that seems odd to me. Is there a better way that I am not aware of? Yes this is odd. You must be doing something odd with your geometry for it behave in the way you are describing. You should need to modify the bounding box and shouldn't need to disable culling. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OpenGL ES-2.0, OpenGL ES-1.1 and OpenGL 3.x support now ready for testing :-)
Hi everyone Bit of an update on the IPhone port of OSG. All major libs are working, bar osgViewer. osgDB, the ive plugin and a very basic image loading plugin are all working, so I've been able to load an animated, textured ive model :) I'm now working on a basic osgViewer for IPhone, should have something basic the next time i get an hour or so. One issue is the executable size. As the ive plugin depends on most of the libs I've currently included them all. This give a rough size of 6 MB, ouch. Haven't found a way of shrinking it, but that's also as big as it's going to get. Cheers Tom ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] How can I create a osgViewer windowed?
Hi Ricardo, Have a look at the osgcamera example as it shows how to query display properties and how to set up windows. Robert. On Tue, Nov 24, 2009 at 11:39 PM, Ricardo Ruiz osgfo...@tevs.eu wrote: Wonderful! Thanks a lot. BTW, is there any way to automatically center that window? or get screen size and window size? Just to let my window nicer. (from OSG, not from Win32 API) Thanks Tueller. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20305#20305 ___ 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] VBO's - lifetime.
Hi Robert, I used windows vista 64 and 32. It happens with an up to date trunk and I didn't have the problem with a previous version. I don't know the revision I used to use, was probably before your openGL ES work. Thanks for looking into this. -- Nico On Wed, Nov 25, 2009 at 10:47 AM, Robert Osfield robert.osfi...@gmail.comwrote: HI Nico, This is clearly a bug, as it certainly shouldn't crash with this type of usage. I will be investigating various bugs today and will have a look at this one as well. Which platform are you working on? Robert. On Tue, Nov 24, 2009 at 8:18 PM, Nico Kruithof n...@nghk.nl wrote: Hello, When a node with VBO's enabled outlives the lifetime of it's renderer, I get an access violation in GLBufferObjectSet::orphan when I try to destroy the node. I tried to write down the scenario: using namespace osg; ref_ptrNode node(new Node); ref_ptrGeometry geom(new osg::Geometry); // ... fill geom geom-setUseVertexBufferObjects(true); node-addDrawable(geom.get()); { ref_ptrosgViewer::Viewer viewer(new osgViewer::Viewer()); viewer-setSceneData(node); viewer-frame(); // render for a while viewer = NULL; // The viewer is destroyed here } node = NULL; // This gives the access violation. Now if I don't set geom-setUseVertexBufferObjects(true); everything works fine. Do you still need a valid render context or a valid viewer to be able to clean up the VBO's? Nico ___ 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] Missing ShapeDrawables in .obj export
Hi Ben, Does .obj support ShapeDrawable? No... it knows nothing about ShapeDrawable so there is no way it can be exported without conveting it into another form that .obj supports. .obj support just meshes, lines and points so if you want to export to .obj then you'll need to stick to these types of objects in your scene graph. Robert, On Wed, Nov 25, 2009 at 5:34 AM, Ben Axelrod baxel...@coroware.com wrote: I have a scene that has some primitive shapes in it created with ShapeDrawables. When i save the scene to a .obj file using osgDB::writeNodeFile() the ShapeDrawables don't show up in the file, but the floor plane i created with simple geometry does. If i save it to a .osg file instead, then everything is in in the file. I get the same results if i use osgconv to convert my .osg file into a .obj. Note: i am viewing the exported files with osgviewer. And i am using OSG version 2.6. Any clue on why this is or how to get around it? Thanks, -Ben ___ 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] Mac bundle distribution can't use plugin
Hi Filip, there's one major difference between your otool output and the otool output of my packaged app: [fi...@mpq]:[~/Documents/Code/OSGTests/Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L libOpenThreads.11.dylib libOpenThreads.11.dylib: @loader_path/libOpenThreads.11.dylib (compatibility version in my version, there's only libOpenThreads.11.dylib (compatibility version for every used lib. Not sure if this makes a difference. Check your logfiles (open Console.app), there should be a more descriptive errormessage from the dynamic linker. cheers, Stephan Filip Wänström schrieb: I Haven't fixed my issues yet so here comes some more info. This is what I get when listing dependencies using otool. I have massaged the libs extensivly using install_name_tool... [fi...@mpq]:[~/Documents/Code/OSGTests/Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L BasicApp BasicApp: @loader_path/libosgDB.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgUtil.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgGA.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgText.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgViewer.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosg.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 123.0.0) [fi...@mpq]:[~/Documents/Code/OSGTests/Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L libOpenThreads.11.dylib libOpenThreads.11.dylib: @loader_path/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) [fi...@mpq]:[~/Documents/Code/OSGTests/ Build/_CPack_Packages/Darwin/DragNDrop/BasicApp-1.0.0-Darwin/BasicApp.app/Contents/MacOS]$ otool -L ../PlugIns/osgPlugins-2.9.6/osgdb_obj.so ../PlugIns/osgPlugins-2.9.6/osgdb_obj.so: @loader_path/libOpenThreads.11.dylib (compatibility version 11.0.0, current version 2.4.0) @loader_path/libosg.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgDB.61.dylib (compatibility version 61.0.0, current version 2.9.6) @loader_path/libosgUtil.61.dylib (compatibility version 61.0.0, current version 2.9.6) /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) /System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) And the output from the failing loading of the plugin is a before (in first post). Any ideas ? /F On Mon, Nov 23, 2009 at 9:52 AM, Filip Wänström filip.wanst...@gmail.com wrote: Hi, thanks for the answer but I am using CMake/regular makefiles to do all my building and using the OSX Ingest into bundle script that comes with osg. I just presumed it did all magic but maybe I should check out the actual paths in the libs. I'll be back with a report. /Filip On Fri, Nov 20, 2009 at 6:21 PM, Stephan Maximilian Huber ratzf...@digitalmind.de wrote: Hi Filip, check your system.log-file -- I am pretty sure the osgdb_obj pluging refers to the osg-dylibs in /usr/lib or similar. You'll have to massage the paths to the libs stored in the plugin via install_name_tool in a post-build-step. Paths to libs are hardcoded in the object-file when linked. You can change them to something better suited like @loader_path.../pipapo. Try googling for install_name_tool and @loader_path to get an idea. If you are using the deprecated XCode-project and embed the osg frameworks into your app and the obj-plugin into plugins it should work out of the box whithout fiddling around with install_name_tool. cheers, Stephan Filip Wänström schrieb: Hi, I have problems with
Re: [osg-users] OpenGL ES-2.0, OpenGL ES-1.1 and OpenGL 3.x support now ready for testing :-)
Hi Thomas, On Wed, Nov 25, 2009 at 10:06 AM, Thomas Hogarth thomas.hoga...@googlemail.com wrote: Bit of an update on the IPhone port of OSG. All major libs are working, bar osgViewer. osgDB, the ive plugin and a very basic image loading plugin are all working, so I've been able to load an animated, textured ive model :) Yay!! No screenshots yet though... any chance :-) I'm now working on a basic osgViewer for IPhone, should have something basic the next time i get an hour or so. Excellent, good luck. One issue is the executable size. As the ive plugin depends on most of the libs I've currently included them all. This give a rough size of 6 MB, ouch. Haven't found a way of shrinking it, but that's also as big as it's going to get. You can tweak the compiler options to to compile to minimize size but I kinda doubt this will help too much. In the end the .ive plugin's weakness is that it's not extensible so that it has to include support for all the OSG NodeKit's and all the Nodes in each of them so it effectively pulls in most of the OSG. The .osg plugin is extensible so you only need to pull in the NodeKits you need. Hope is on the horizon for the an extensible binary format side of things - Wang Rui has proposed a new extensible native binary format, so this may well be able to us to spilt the binary support for each NodeKit over the range of classes. It may also be possible for us to selectively disable the build of classes in the core OSG to help keep size down. Such a scheme will complicate the build quite a bit so I much rather avoid this if we can. BTW, how much space do you effectively have on the iPhone? I guess there is runtime as well as download times to consider. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VBO's - lifetime.
Hi Nico, On Wed, Nov 25, 2009 at 10:07 AM, Nico Kruithof nicokruit...@gmail.com wrote: I used windows vista 64 and 32. It happens with an up to date trunk and I didn't have the problem with a previous version. I don't know the revision I used to use, was probably before your openGL ES work. Back in September I introduced a new backend for gl buffer and texture objects, this provides gl object pools to help keep a lid on GL memory usage. It was an almost complete rewrite so regressions like this likely while the code bed downs. The upside is that the new code fixed quite a few bugs that existed before, so it's not all bad :-) Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] CompositeViewer context cleanup and missing textures
Hi J.P. Thanks fort he test app + data, I'll look into this today. My guess is that the issue will be close related to the crash that Nico has reported. Robert. On Wed, Nov 25, 2009 at 8:28 AM, J.P. Delport jpdelp...@csir.co.za wrote: Hi Robert, J-S, the results of my most recent tests: With old texture pool (#define USE_NEW_TEXTURE_POOL 1 commented out): ./test cow.osg - All OK ./test earth_sphere_dt1.ive - All OK (see model attached) ./test earth.ive - sometimes corrupted model and textures, sometimes segfault, looks like reading bogus data from the GPU (I used the top level file from www.openscenegraph.org/data/earth_bayarea/earth.ive) With new texture pool: ./test cow.osg - All OK ./test earth_sphere_dt1.ive - textures missing on second viewer start, get warning: Warning: detected OpenGL error 'invalid operation' at After Renderer::compile ./test earth.ive - segfault or corrupted display. Latest test app also attached. I've tried to switch off unref of images after apply, hope it worked. regards jp J.P. Delport wrote: Hi J-S, Jean-Sébastien Guay wrote: Hi again, I haven't had a chance to check your code yet, give me a few minutes and I'll check if there's anything amiss that I can see. I'm sorry to say I can't repro here on Windows Vista, VC++ 2005 on SVN head. But it seems that you've pinned it down to the texture pool as I thought, though it would seem to be OS specific? A bit weird. Sorry I couldn't help more. can you try with terrain as the parameter to the test app. For me this still fails on the second creation of the viewer. When zooming into the terrain the newly loaded textures are OK though. jp J-S -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. ___ 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] picture in picture...
Hi Shayne, On Tue, Nov 24, 2009 at 11:31 PM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: This is probably a silly question but what’s the best way to do a “picture in picture” using CompositeViewer? Right now I have multiple views added to my viewer and I want to have control as to which one gets rendered on top of the others in the main viewer window… This is the right way to tackle it. To control the rendering order you can use the camera-setRenderOrder(..) method. If you don't set this an leave all the camera's at their default of 0 then these cameras will be rendered in the order you added them. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Databasepager + multiple views + different camera positions = memory leak?
Hi Michael, On Wed, Nov 25, 2009 at 9:13 AM, Michael Bach Jensen mich...@ifad.dk wrote: You are free to use my code as you wish :-) Thanks. Do I need to download anything extra wrt the earth.ive you linked to? It does not contain any PagedLOD nodes (at least the statistics view does not report any), and so will not have any issues. No, it should just work as is - as long as you have the curl plugin compiled that is.. The curl plugin does the reading from .ive. The top most tile database will contain lowest level of detail for the earth and then a nested PagedLOD that invokes the loading of subsequent tiles/ Thanks for looking into the issue and thanks for a great scene graph, btw! Thanks great scene graph but not quite great enough - just got fix those darn bugs first :-) Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VBO's - lifetime.
Robert, My response wasn't meant to emphasize that things got broken, just to give you as detailed information as possible. I really do appreciate all the work you put in OSG. If there is any way I could help / test let me know. -- Nico On Wed, Nov 25, 2009 at 11:21 AM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nico, On Wed, Nov 25, 2009 at 10:07 AM, Nico Kruithof nicokruit...@gmail.com wrote: I used windows vista 64 and 32. It happens with an up to date trunk and I didn't have the problem with a previous version. I don't know the revision I used to use, was probably before your openGL ES work. Back in September I introduced a new backend for gl buffer and texture objects, this provides gl object pools to help keep a lid on GL memory usage. It was an almost complete rewrite so regressions like this likely while the code bed downs. The upside is that the new code fixed quite a few bugs that existed before, so it's not all bad :-) Robert. ___ 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] [osgOcean] Wake effects?
Hi Kim: Thanks for your patience! I have done what you advised. And the ocean_output.txt file was give as followed attatchment. Will you please see what's the problem really is? Cheers, Tian Kim Bale wrote: Ok I reckon the water.frag has used up the maximum allowed uniforms for that card, I've come across this issue before with the 7 series cards. There are some tricks to get around this, so I'll see if I fix it. Is there any chance you could set the notify level to osg::NotifySeverity::INFO and then pipe the output from oceanExample to a file and send it to me? It might tell me how many I've used and are allowed to use on that card. You can do it easily in the command prompt (win32) by using the command oceanExample ocean_output.txt Regards, Kim. 2009/11/25 Tian Ma : Hi Kim: My graphics card is 'NVIDIA GeForce 7300 LE'. The version number = r181 could work normally on this card. And since r182 to 185, the error emerged. Cheers, Tian Kim Bale wrote: Hi Tian, Last night I committed the changes that permit alpha tranparencies to be used in conjunction with the glare and depth of field effects. This required the use of multiple render targets ( http://code.google.com/p/osgocean/source/detail?r=183 ) and some changes to some of the shaders. It looks like that's used up the maximum varying attributes of your card and also possibly your card doesn't support MRTs. What graphics card are you using? Could you set the notify level to osg::notifylevel::info and dump the contents to file so I can see exactly what the problem is? Cheers. Kim. 2009/11/24 Tian Ma : Hi Kim, I update the source code from SVN today and generate the new ocean project. When run the example, some errors emerge. The error image is as follow link: http://storage.openlab.net.cn/forums/2009-11-24/1981569/%e9%94%99%e8%af%af.JPG Something wrong with the water.frag? Thank you! Cheers, Tian Kim Bale wrote: Hello Erik, Sorry I missed your post yesterday. There isn't really any support for wakes on the sea surface at the moment, although it's definitely something that needs addressing. However, I just had a submission which uses the depth buffer to add breaking foam to the shoreline. This does sort for work for other objects on sea, like ships, but it doesn't look very pretty at the moment. You're more than welcome to have a play with the effect and see if you can do anything with it. From what I understand what you'd need to do is add a sort of sloped geometry which tracks you your boat, that would get picked up in the depth buffer and the same foam texture used on the wave crests is applied to it. It's been checked into the trunk, but like I say it needs a little work. There was a discussion about it here: http://thread.gmane.org/gmane.comp.graphics.openscenegraph.cvs/6252 Cheers. Kim. 2009/11/18 Erik Johnson : Hi, I thought this would have come up before, but does anyone have suggestions how to render a boat's wake? Using osgParticle provides an ok solution, but falls apart rapidly if the ocean waves are too large (the particles go underwater). Would be cool to leverage the same texturing effects as the wave crest foam stuff - just not sure how. :) Thanks for any suggestions, Erik -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=19849#19849 ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Post generated by Mail2Forum -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20196#20196 ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Post generated by Mail2Forum -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20309#20309
Re: [osg-users] Databasepager + multiple views + different camera positions = memory leak?
Hi All, I've now checked in the new testbed example, osgmultiviewpaging, for sorting out database paging. It's just a first cut so far, but I'll add to it as we go on. An svn update will get this example. This example we'll need to add support for specifying animation paths for each of the views, and then share animation paths/datasets details that enable us to reproduce the memory issues. I need members of the community to pitch in with the testing. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] broken osgconv.exe
Hi again Ted, I can't find any dll that depends on msvc*80 runtime dll but may have some clues to a solution. On Tue, Nov 24, 2009 at 9:03 PM, ted morris ted.mor...@gmail.com wrote: Yes, I think I resolved finding the 3rdparty dependencies. But for some reason, the osgdb_xxx pluggins listed in the last e-mail: osgdb_gz osgdb_curl osgdb_ive osgdb_png osgdb_tiff osgdb_tiffd These all depend on zlib1.dll, which on my system depend correctly on msvcp90.dll. I'm guessing that somehow your system picks up some other zlib1. The zlib module is very common so there is a good chance you already got it embedded with other software. Try setting the PATH explicitly like: set PATH=vc90_dependencis\bin;vc90_osg\bin before running dependency walker or osgviewer dependencywalker shows that these pluggin dlls are still looking for MSVCR80.DLL *and* MSVCR90.DLL No, osgdb_tiff, _curl and the other plugin in your list depends on msvcr90.dll. However they also depend on many other modules that may, in turn, depend on whatever runtime they were compiled against. Hitting f9 in dependency walker will show you the full path to all listed dlls And the other pluggins can't find MSVCR90.DLL. I think this is a flaw in dependency walker. I don't have your system, but my system reports this too where top dependency msvcp90 depends on msvcr90. If this is the case also for you then just ignore. I'm dropping this for now since I can't find anything wrong with the binaries on the website. Drop me screenshots, text logs or whatever and I'll investigate further. cheers Mattias bizarre. thanks, t Well, I tried dependencywalker.com and opened up the pluggins. On Mon, Nov 23, 2009 at 7:24 PM, Mourad Boufarguine mourad.boufargu...@gmail.com wrote: Hi Ted, You can use the Dependency Walker (http://www.dependencywalker.com/) to check the version number of the runtime, the dependencies were compiled against. I just tried it with the zlib and png dlls contained in VisualStudio 9 (2008) SP1 prebuild dependencies (http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies), and I found that the release versions were compiled with the 9.0.30729 runtime, which is actually 2008 SP1. The debug version, though, was compiled with the 9.0.21022 runtime , which is the 2008 runtime. The zlib is used in both ive and gz plugins. I don't see how you get the message about the 2005 runtime dependency. Double check in the output window of VS that the zlib and png dlls that are actually loaded are the good ones. Regards, Mourad On Tue, Nov 24, 2009 at 1:21 AM, ted morris ted.mor...@gmail.com wrote: credist_x86 VisualStudio 2005 (v8) runtimes ___ 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] TriStripVisitor issue
Hi Robert, I've sent it to you yesterday on your Gmail address. Can you confirm you've received it? Tanguy -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: 24 November 2009 5:10 PM To: OpenSceneGraph Users Subject: Re: [osg-users] TriStripVisitor issue On Tue, Nov 24, 2009 at 4:59 PM, Tanguy Fautre tang...@aristechnologies.com wrote: I'll do these modifications and check them tonight when I'm back home. To speed things up (and because we're going to backport OSG changes), I'm not going to do a full release on TriStripper website yet; instead I'll send you a zip containing the updated version. Thanks, just send me the zip file and should be get on to do a review/merge tomorrow. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] TriStripVisitor issue
Hi Tanguy, On Wed, Nov 25, 2009 at 12:27 PM, Tanguy Fautre tang...@aristechnologies.com wrote: I've sent it to you yesterday on your Gmail address. Can you confirm you've received it? Yes, I received it thanks. Just been juggling other tasks at this end so haven't yet dived into the code. Cheers, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] High CPU usage problems with multi-monitor(TwinView) using Nvidia card, osg2.8
Hi, Here is my setup: -- Intel Core 2 6420 2.13GHZ -- 3G RAM -- Nvidia GeForce GTX 260 (drivers: 6.14.11.8242 2009-3-9) -- winxp sp2,vs2005 -- osg2.8 In single monitor mode everything is working fine.When I run my application,CPU usage is a constant 10%~15%. But when I use two monitors and set the Nvidia card to TwinView mode ,the CPU usage dramatically raise to 50%.It is basically using an entire CPU core since I use a 2 core machine.Then I find the same problem happens when I run any OSG example or any OSG application in TwinView mode!It is OK when I use other multi-monitor mode such as pan mode. So I think maybe it is something wrong with the OSG2.8 and the TwinView mode of Nvidia card? Any one can help me? Thank you! Cheers, Lv -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20353#20353 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] TriStripVisitor issue
No stress. I just wanted to make sure I've sent it to the correct address. Tanguy -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: 25 November 2009 1:06 PM To: OpenSceneGraph Users Subject: Re: [osg-users] TriStripVisitor issue Hi Tanguy, On Wed, Nov 25, 2009 at 12:27 PM, Tanguy Fautre tang...@aristechnologies.com wrote: I've sent it to you yesterday on your Gmail address. Can you confirm you've received it? Yes, I received it thanks. Just been juggling other tasks at this end so haven't yet dived into the code. Cheers, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or g ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] how to suspend rendering context thread
hi all, When I use osgMFCViewer, I create multiple rendering context,that's to say there are many HWND, each HWND is related to one Render thread ,so much CPU resource is taken up. This is what I want to do: When one viewport is maximazed, the others will be hidden ,so these hidden context do not need continue the rendering. I want to suspend and resume some rendering thread depends on message CWnd::OnSize(UINT nType, int cx, int cy ). I checked the MSDN and find that the parameter nType can be one of the following values SIZE_MAXIMIZED Window has been maximized. SIZE_MINIMIZED Window has been minimized. SIZE_RESTORED Window has been resized, but neither SIZE_MINIMIZED nor SIZE_MAXIMIZED applies. SIZE_MAXHIDE Message is sent to all pop-up windows when some other window is maximized. SIZE_MAXSHOW Message is sent to all pop-up windows when some other window has been restored to its former size. My problem is that I never get SIZE_MAXHIDE or SIZE_MAXSHOW message. Is there anyone who has used SIZE_MAXHIDE or SIZE_MAXSHOW message? Or is there any other way to reduce the CPU resource usage? thanks in advance best regards forest___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VBO's - lifetime.
Hio Nico, I've attempted to reproduce the cash using a scene graph that I force to use VBO's, and the run the viewer for a frame() or run() then destruct the viewer, then the scene graph - along the lines of your code fragment, but it runs reliable on my Kubuntu 9.04 64bit system with svn/trunk. Here's lies the problem with using code fragments - I just don't know if it you did something different in your code to what I've put together and this accounts for the difference we are seeing, or whether it's just thread timing/unitialized variable/different OS/different compiler/different rev of the OSG. Compilable examples that can be tried on both systems eradicate many of the variables as to the cause of the problems, I know this is more work, but it's far quicker for trying to isolate bugs. Until I can reproduce the problem there isn't too much I can do at my end. What I'll now do is look at J.P. example to see if that help track down one or more of the problems with the VBO clean up. Whether any solution to J.P's observed problems will address the one you are observing I can't say without being able to reproduce your problem. Robert. On Tue, Nov 24, 2009 at 8:18 PM, Nico Kruithof n...@nghk.nl wrote: Hello, When a node with VBO's enabled outlives the lifetime of it's renderer, I get an access violation in GLBufferObjectSet::orphan when I try to destroy the node. I tried to write down the scenario: using namespace osg; ref_ptrNode node(new Node); ref_ptrGeometry geom(new osg::Geometry); // ... fill geom geom-setUseVertexBufferObjects(true); node-addDrawable(geom.get()); { ref_ptrosgViewer::Viewer viewer(new osgViewer::Viewer()); viewer-setSceneData(node); viewer-frame(); // render for a while viewer = NULL; // The viewer is destroyed here } node = NULL; // This gives the access violation. Now if I don't set geom-setUseVertexBufferObjects(true); everything works fine. Do you still need a valid render context or a valid viewer to be able to clean up the VBO's? Nico ___ 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] Custom code in OSG core
Hi Robert, hi all, I'm trying to add custom code in some osg plugins (especially 3DS and FBX). I often have to write things like: ADD_DEFINITIONS(-DMY_CUSTOM_CODE) in CMakeLists.txt (or #define MY_CUSTOM_CODE) #ifdef MY_CUSTOM_CODE ... #endif - Can I submit such code (without the #define of course)? - Do you think there could be a nicer way to isolate custom code? - And finally, do you think this could be a good idea to have a CMake option such as USER_DEFINES? And then: FOREACH(CUR_DEFINE ${USER_DEFINES}) ADD_DEFINITIONS(-D${CUR_DEFINE}) ENDFOREACH() Cheers, Sukender PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] CompositeViewer context cleanup and missing textures
Hi J.P, I've tried out your example and found that with paged databases and your supplied model everything works fine for the first viewer then on the subsequent viewer I get: Warning: detected OpenGL error 'invalid operation' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) For none paged databases, even ones with texturing I'm not getting any errors though, for any of the viewer runs. I really don't know what this means if anything, perhaps just a coincidence. Curiously your database uses straight osg::Geometry meshes for geometry, while the ones of mine were built with osgTerrain::TerrainTile. Your database will be only loading the topmost tile so the DatabasePager won't actually be even playing a part, so I doubt this is part of the equation. While I can't see a particular pattern emerging, I can at least reproduce the issue. I'll try and remove the multi-view element to the equation as I wouldn't have thought use of CompositeViewer will be a particular problem for VBO/Texture object usage. Robert. On Wed, Nov 25, 2009 at 8:28 AM, J.P. Delport jpdelp...@csir.co.za wrote: Hi Robert, J-S, the results of my most recent tests: With old texture pool (#define USE_NEW_TEXTURE_POOL 1 commented out): ./test cow.osg - All OK ./test earth_sphere_dt1.ive - All OK (see model attached) ./test earth.ive - sometimes corrupted model and textures, sometimes segfault, looks like reading bogus data from the GPU (I used the top level file from www.openscenegraph.org/data/earth_bayarea/earth.ive) With new texture pool: ./test cow.osg - All OK ./test earth_sphere_dt1.ive - textures missing on second viewer start, get warning: Warning: detected OpenGL error 'invalid operation' at After Renderer::compile ./test earth.ive - segfault or corrupted display. Latest test app also attached. I've tried to switch off unref of images after apply, hope it worked. regards jp J.P. Delport wrote: Hi J-S, Jean-Sébastien Guay wrote: Hi again, I haven't had a chance to check your code yet, give me a few minutes and I'll check if there's anything amiss that I can see. I'm sorry to say I can't repro here on Windows Vista, VC++ 2005 on SVN head. But it seems that you've pinned it down to the texture pool as I thought, though it would seem to be OS specific? A bit weird. Sorry I couldn't help more. can you try with terrain as the parameter to the test app. For me this still fails on the second creation of the viewer. When zooming into the terrain the newly loaded textures are OK though. jp J-S -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. ___ 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] Link err: multiple definintion of powf. (mingw/XP) ?
Hello, I am trying to compile OSG with i386-pc-mingw32/4.4.0 on Windows XP and linking libosg.dll I get a multiple definition of 'powf' error. Because I am also a beginner with C++ etc., I am not sure how to go about fixing this. I would be grateful if someone could point me in the right direction please. Have I omitted to set an environment variable appropriately, or...? -- Linking CXX shared library ..\..\bin\libosg.dll Creating library file: ..\..\lib\libosg.dll.a c:/mingw/bin/../lib/gcc/i386-pc-mingw32/4.4.0/../../../libstdc++.a(stubs.o): In function `powf': /home/gfortran/gcc-home/workshop/gcc/objdir/i386-pc-mingw32/libstdc++-v3/libmath /../../../../gcc-4.4-20081226-mingw/libstdc++-v3/libmath/stubs.c:377: multiple definition of `powf' CMakeFiles\osg.dir\Image.obj:Image.cpp:(.text$powf[_powf]+0x0): first defined here collect2: ld returned 1 exit status make[2]: *** [bin/libosg.dll] Error 1 make[1]: *** [src/osg/CMakeFiles/osg.dir/all] Error 2 make: *** [all] Error 2 -- ( I realise using MSVC would be easier, and have successfully compiled OSG that way, but so much is automated I don't learn stuff as quickly.) Thanks for any help. :-) John Montgomery, Glassel, Scotland. The University of Aberdeen is a charity registered in Scotland, No SC013683. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] CompositeViewer context cleanup and missing textures
Hi Robert, This sounds the issue that I've been seeing with regards to context ID reuse as mentioned in this thread ( http://groups.google.com/group/osg-users/browse_thread/thread/249e5f90cf64f299/190e5f7a8c25bdaa?lnk=gstq=++Crash+in+nVidia+driver+%3A+particles+%2B+dynamically+adding%2Fremoving+views++#190e5f7a8c25bdaa ). I would see similar crashes / missing textures, but only when previous context ID's were reused, and only when using paged databases. Thanks, Jason On Wed, Nov 25, 2009 at 9:45 AM, Robert Osfield robert.osfi...@gmail.comwrote: Hi J.P, I've tried out your example and found that with paged databases and your supplied model everything works fine for the first viewer then on the subsequent viewer I get: Warning: detected OpenGL error 'invalid operation' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) For none paged databases, even ones with texturing I'm not getting any errors though, for any of the viewer runs. I really don't know what this means if anything, perhaps just a coincidence. Curiously your database uses straight osg::Geometry meshes for geometry, while the ones of mine were built with osgTerrain::TerrainTile. Your database will be only loading the topmost tile so the DatabasePager won't actually be even playing a part, so I doubt this is part of the equation. While I can't see a particular pattern emerging, I can at least reproduce the issue. I'll try and remove the multi-view element to the equation as I wouldn't have thought use of CompositeViewer will be a particular problem for VBO/Texture object usage. Robert. On Wed, Nov 25, 2009 at 8:28 AM, J.P. Delport jpdelp...@csir.co.za wrote: Hi Robert, J-S, the results of my most recent tests: With old texture pool (#define USE_NEW_TEXTURE_POOL 1 commented out): ./test cow.osg - All OK ./test earth_sphere_dt1.ive - All OK (see model attached) ./test earth.ive - sometimes corrupted model and textures, sometimes segfault, looks like reading bogus data from the GPU (I used the top level file from www.openscenegraph.org/data/earth_bayarea/earth.ive) With new texture pool: ./test cow.osg - All OK ./test earth_sphere_dt1.ive - textures missing on second viewer start, get warning: Warning: detected OpenGL error 'invalid operation' at After Renderer::compile ./test earth.ive - segfault or corrupted display. Latest test app also attached. I've tried to switch off unref of images after apply, hope it worked. regards jp J.P. Delport wrote: Hi J-S, Jean-Sébastien Guay wrote: Hi again, I haven't had a chance to check your code yet, give me a few minutes and I'll check if there's anything amiss that I can see. I'm sorry to say I can't repro here on Windows Vista, VC++ 2005 on SVN head. But it seems that you've pinned it down to the texture pool as I thought, though it would seem to be OS specific? A bit weird. Sorry I couldn't help more. can you try with terrain as the parameter to the test app. For me this still fails on the second creation of the viewer. When zooming into the terrain the newly loaded textures are OK though. jp J-S -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html . This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. ___ 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] Custom code in OSG core
Hi -- I've generally found there is no need to put custom code in core OSG, as I can usually get by with callbacks and derived classes. Can you explain why those don't work for you? Paul Martz Skew Matrix Software LLC _http://www.skew-matrix.com_ http://www.skew-matrix.com/ +1 303 859 9466 Sukender wrote: Hi Robert, hi all, I'm trying to add custom code in some osg plugins (especially 3DS and FBX). I often have to write things like: ADD_DEFINITIONS(-DMY_CUSTOM_CODE) in CMakeLists.txt (or #define MY_CUSTOM_CODE) #ifdef MY_CUSTOM_CODE ... #endif - Can I submit such code (without the #define of course)? - Do you think there could be a nicer way to isolate custom code? - And finally, do you think this could be a good idea to have a CMake option such as USER_DEFINES? And then: FOREACH(CUR_DEFINE ${USER_DEFINES}) ADD_DEFINITIONS(-D${CUR_DEFINE}) ENDFOREACH() Cheers, Sukender PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/ ___ 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] High CPU usage problems with multi-monitor(TwinView) using Nvidia card, osg2.8
Hi, Here is my setup: -- Intel Core 2 6420 2.13GHZ -- 3G RAM -- Nvidia GeForce GTX 260 (drivers: 6.14.11.8242 2009-3-9) -- winxp sp2,vs2005 -- osg2.8 In single monitor mode everything is working fine.When I run my application,CPU usage is a constant 10%~15%. But when I use two monitors and set the Nvidia card to TwinView mode ,the CPU usage dramatically raise to 50%.It is basically using an entire CPU core since I use a 2 core machine.Then I find the same problem happens when I run any OSG example or any OSG application in TwinView mode!It is OK when I use other multi-monitor mode such as horizontal pan . So I think maybe it is something wrong with the OSG2.8 and the TwinView mode of Nvidia card? Any one can help me? Thank you! Cheers, Lv -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20353#20353 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [osgPlugins] osganimation plugin and static linking
Hey Robert, Thank you for the information. There is no application so far, but I am currently evaluating OpenSceneGraph for the purpose of being used as the 3D engine for a game development studio that I am planning on starting up. I have not gone through the whole GPL license yet. I assumed that the OpenSceneGraph Public License allowed me to freely distribute my binaries (meaning selling my games) though. Embedding the source code was a quick hack to avoid struggling with a static library issue (and I think that there is no way to have the osganimation plugin statically linked as of today). I have no intention to distribute source code ; I want to sell games, and probably use OpenSceneGraph to make them, if it suits my needs. I will double-check whether the OpenSceneGraph license lets me do that or not. Cheers, StratBoy61 -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20362#20362 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] CompositeViewer context cleanup and missing textures
Hi Robert, Jason, I would see similar crashes / missing textures, but only when previous context ID's were reused, and only when using paged databases. I'd sure like to see this fixed... I posted an example reproducing the issue on osg-users a while back but Robert was busy on the GLES port. Now that you're done, could you investigate that issue (which seems related to this one too) please? Note that the issue happened both with and without the texture pool support for me (in fact we spotted it in our app which is built on OSG 2.6). We worked around the issue temporarily by incrementing the context usage count so that context IDs are not reused, but it would be better of course if OSG cleaned up after itself correctly when a context was destroyed so that context ID reuse would work correctly. If you want me to repost my (and Jason's) latest code that reproduced the issue with context ID reuse, just ask. I think you can get it from the link Jason posted though. Thanks in advance, J-S -- __ Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com http://www.cm-labs.com/ http://whitestar02.webhop.org/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VBO's - lifetime.
Ok, thanks for looking into it. I'll make a simple compiling program that causes the crash. I extracted the code snippet from my own program. I will check the example under ubuntu as well. Nico On Wed, Nov 25, 2009 at 3:25 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hio Nico, I've attempted to reproduce the cash using a scene graph that I force to use VBO's, and the run the viewer for a frame() or run() then destruct the viewer, then the scene graph - along the lines of your code fragment, but it runs reliable on my Kubuntu 9.04 64bit system with svn/trunk. Here's lies the problem with using code fragments - I just don't know if it you did something different in your code to what I've put together and this accounts for the difference we are seeing, or whether it's just thread timing/unitialized variable/different OS/different compiler/different rev of the OSG. Compilable examples that can be tried on both systems eradicate many of the variables as to the cause of the problems, I know this is more work, but it's far quicker for trying to isolate bugs. Until I can reproduce the problem there isn't too much I can do at my end. What I'll now do is look at J.P. example to see if that help track down one or more of the problems with the VBO clean up. Whether any solution to J.P's observed problems will address the one you are observing I can't say without being able to reproduce your problem. Robert. On Tue, Nov 24, 2009 at 8:18 PM, Nico Kruithof n...@nghk.nl wrote: Hello, When a node with VBO's enabled outlives the lifetime of it's renderer, I get an access violation in GLBufferObjectSet::orphan when I try to destroy the node. I tried to write down the scenario: using namespace osg; ref_ptrNode node(new Node); ref_ptrGeometry geom(new osg::Geometry); // ... fill geom geom-setUseVertexBufferObjects(true); node-addDrawable(geom.get()); { ref_ptrosgViewer::Viewer viewer(new osgViewer::Viewer()); viewer-setSceneData(node); viewer-frame(); // render for a while viewer = NULL; // The viewer is destroyed here } node = NULL; // This gives the access violation. Now if I don't set geom-setUseVertexBufferObjects(true); everything works fine. Do you still need a valid render context or a valid viewer to be able to clean up the VBO's? Nico ___ 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] Custom code in OSG core
Hi Sukender, On Wed, Nov 25, 2009 at 2:26 PM, Sukender suky0...@free.fr wrote: I'm trying to add custom code in some osg plugins (especially 3DS and FBX). I often have to write things like: ADD_DEFINITIONS(-DMY_CUSTOM_CODE) in CMakeLists.txt (or #define MY_CUSTOM_CODE) #ifdef MY_CUSTOM_CODE ... #endif - Can I submit such code (without the #define of course)? - Do you think there could be a nicer way to isolate custom code? - And finally, do you think this could be a good idea to have a CMake option such as USER_DEFINES? And then: FOREACH(CUR_DEFINE ${USER_DEFINES}) ADD_DEFINITIONS(-D${CUR_DEFINE}) ENDFOREACH() The OSG isn't the place for custom code, both for a licensing issues, build issues and maintenance issues. The question really should be how to avoid need for custom code in the core OSG. The use of custom code embedded in the OSG code would suggest that the OSG doesn't support particular features, or isn't extensible enough, or just the that code is tackled in the wrong way. Could you enumerate what custom code you are wanting to put it and why? Perhaps we can figure a way to avoid the need for it completely. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [osgPlugins] osganimation plugin and static linking
HI Kazimir, On Wed, Nov 25, 2009 at 3:05 PM, Kazimir De Paris stratbo...@gmail.com wrote: Thank you for the information. There is no application so far, but I am currently evaluating OpenSceneGraph for the purpose of being used as the 3D engine for a game development studio that I am planning on starting up. I have not gone through the whole GPL license yet. I assumed that the OpenSceneGraph Public License allowed me to freely distribute my binaries (meaning selling my games) though. Embedding the source code was a quick hack to avoid struggling with a static library issue (and I think that there is no way to have the osganimation plugin statically linked as of today). Have you succeeded in loading .osg files without animations? If osgAnimation is the exception then it's probably just down to something missing the plugin that should be easily fixable. I'm not the author of this particular plugin. I have no intention to distribute source code ; I want to sell games, and probably use OpenSceneGraph to make them, if it suits my needs. I will double-check whether the OpenSceneGraph license lets me do that or not. The OSGPL allows you to sell your games, and without publishing your own code, and it even allows for static link. However, you can't just copy and paste OSG code into your app, and just distributing binaries doesn't walk you around this restriction. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] picture in picture...
Robert and Simon, Thanks! That did the trick...:) -Shayne -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: Wednesday, November 25, 2009 3:26 AM To: OpenSceneGraph Users Subject: Re: [osg-users] picture in picture... Hi Shayne, On Tue, Nov 24, 2009 at 11:31 PM, Tueller, Shayne R Civ USAF AFMC 519 SMXS/MXDEC shayne.tuel...@hill.af.mil wrote: This is probably a silly question but what's the best way to do a picture in picture using CompositeViewer? Right now I have multiple views added to my viewer and I want to have control as to which one gets rendered on top of the others in the main viewer window. This is the right way to tackle it. To control the rendering order you can use the camera-setRenderOrder(..) method. If you don't set this an leave all the camera's at their default of 0 then these cameras will be rendered in the order you added them. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org smime.p7s Description: S/MIME cryptographic signature ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Missing ShapeDrawables in .obj export
Thanks Robert, I understand ShapeDrawable is an osg construct that obj won't understand. But i was under the impression that the conversion out of the osg format would de-OSG all shapes. in other words, make a mesh out of the ShapeDrawable. But clearly this is not the case. Is this feature on the todo list? Also, i know that the VRML format has some concept of primitive shapes. Do you think that the osg to wrl conversion would include the primitive ShapeDrawables? I would just try it, but unfortunately i did not build osg with vrml writing capabilities, and i won't have the opportunity to rebuild osg for a while. Thanks, -Ben From: osg-users-boun...@lists.openscenegraph.org [osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield [robert.osfi...@gmail.com] Sent: Wednesday, November 25, 2009 5:08 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Missing ShapeDrawables in .obj export Hi Ben, Does .obj support ShapeDrawable? No... it knows nothing about ShapeDrawable so there is no way it can be exported without conveting it into another form that .obj supports. .obj support just meshes, lines and points so if you want to export to .obj then you'll need to stick to these types of objects in your scene graph. Robert, On Wed, Nov 25, 2009 at 5:34 AM, Ben Axelrod baxel...@coroware.com wrote: I have a scene that has some primitive shapes in it created with ShapeDrawables. When i save the scene to a .obj file using osgDB::writeNodeFile() the ShapeDrawables don't show up in the file, but the floor plane i created with simple geometry does. If i save it to a .osg file instead, then everything is in in the file. I get the same results if i use osgconv to convert my .osg file into a .obj. Note: i am viewing the exported files with osgviewer. And i am using OSG version 2.6. Any clue on why this is or how to get around it? Thanks, -Ben ___ 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] VBO's - lifetime.
Hi Nico, I've now modified the osgcamera example so that it can be used as tested bed for repeated construction of viewers and enabling of VBO's. The example is now checked into svn/trunk, could you please try it out on your system and see what errors you can pick up. Try the following command line: osgcamera -r 3 glider.osg And: osgcamera -r 3 --vbo glider.osg You can also try (which loads once and then shares the model between viewers): osgcamera -r 3 --vbo --shared glider.osg Press escape each time the view comes up to close the viewer and move on to the next one. With the first command line I get no errors, and the glider comes up correctly each time. When enabling VBO's with --vbo I get the correct model on the first frame, and on the two following viewers nothing comes up and I get errors, the output to the console I've copied in below. Adding the --shared doesn't have any effect. The good news is that I am getting GL errors which suggests that the VBO pool isn't being cleaned up or initialized correctly for the new contexts. There is chance that this will result in crash on your system, but only GL errors on mine. Could you please test osgcamera as above to see. Cheers, Robert. + New viewer Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO GLBufferObjectSet::GLBufferObjectSet _profile._size=13120 GLBufferObjectSet::GLBufferObjectSet _profile._size=640 Viewer ended -- + New viewer Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Warning: detected OpenGL error 'invalid value' at After Renderer::compile Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Viewer ended -- + New viewer Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Warning: detected OpenGL error 'invalid value' at After Renderer::compile Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of memory' at after RenderBin::draw(..) Warning: detected OpenGL error 'out of
Re: [osg-users] Missing ShapeDrawables in .obj export
Hi Ben, On Wed, Nov 25, 2009 at 4:25 PM, Ben Axelrod baxel...@coroware.com wrote: I understand ShapeDrawable is an osg construct that obj won't understand. But i was under the impression that the conversion out of the osg format would de-OSG all shapes. in other words, make a mesh out of the ShapeDrawable. But clearly this is not the case. Is this feature on the todo list? It's not on my TODO list. The OSG is community work, if you have the itch then feel free to scratch it :-) As a pointer of how to tackle it I would suggest looking at using a PrimtiveFunctor/TriangleFunctor to stream out the geometry data from the drawable. Have a look at other instances of these functors such as in src/osgUtil/LineSegmentIntersector.cpp. Also, i know that the VRML format has some concept of primitive shapes. Do you think that the osg to wrl conversion would include the primitive ShapeDrawables? I would just try it, but unfortunately i did not build osg with vrml writing capabilities, and i won't have the opportunity to rebuild osg for a while. I'm not up to speed of VRML or the author of the OSG's VRML plugin so can't answer this specifically. In general I would say it should be supportable but have to defer to others who know more about VRML/the OSG's VRML plugin to comment. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] extracting the current image and depth information
Hi, Thank you JP, the osgprerender example application in particular is helping me figure out a lot of stuff. It's taking me a while ... I'm coming up to speed on several things at once, and wading through the callbacks and the reference-counted object stuff is stretching my brain. With that ... what's the easiest way to see what's in an osg::Image? Do I have to create another osgViewer or is there a simpler way to display this flat pixel info? Thank you! Cheers, Eric -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20373#20373 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] IntersectVisitor does not recognize Nodes on different Projection
Hi, Thanks for the tip but i dont see the difference which makes it work and mine not. Ive changed some parts of my code but i in my opinion it should work. Any further help is highly anticipated. Thank you! Cheers, Thorsten -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20374#20374 Attachments: http://forum.openscenegraph.org//files/tgeventhandler_168.hpp http://forum.openscenegraph.org//files/thyrgon_624.cpp ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] CompositeViewer context cleanup and missing textures
Hi J.P, I've modified the osgcamera example to have code path for testing a series viewers, with sharing models and reloading them for each viewer. I've written about it on the thread VBO's - lifetime.. I'm able to get GL errors when using VBO's, and with your test model with a straight osgViewer::Viewer app. Below is the output of of running with your test model. I get even more errors when I force the use of VBO's with --vbo. The VBO and Texture object pools are all implemented independantly, but they are pretty similar code paths so there is decent chance that if an error exists in one it may well be present in the other. What the error might be I have no clue yet... Robert. osgcamera -r 3 earth_sphere_dt1.ive + New viewer Viewer ended -- + New viewer Warning: detected OpenGL error 'invalid operation' at After Renderer::compile Viewer ended -- + New viewer Warning: detected OpenGL error 'invalid operation' at After Renderer::compile Viewer ended -- ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Problem with Camera::inheritCullSettings
Hi Robert -- I've encountered a problem with how parent Camera values inherit down to slave Cameras, and wanted to discuss it before I launched into coding a fix. Quick summary: master Camera clear mask doesn't inherit down to slave Cameras. As a workaround, I can loop over slave Cameras and set the clear mask manually. Example use case: On a multidisplay system, create a Viewer configured to setUpViewAcrossAllDisplays. Get the Viewer's Camera, set the clear color to blue and set the clear mask to 0. Then call run. The windows incorrectly clear to blue -- they shouldn't clear at all, because the clear mask is set to 0. I managed to divine that slave Cameras get their clear colors set in Camera::inheritCullSettings, if the CLEAR_COLOR bit is set. If I modify this code to also copy the master Camera clear mask down to the slave Camera, then I get the expected result (no clearing occurs). It seems like there are two ways to fix this: One is to just piggyback clear mask onto the CLEAR_COLOR bit, or we could also add another bit specifically for clear mask. The second way, I'm not sure about. But the name inheritCullSettings fails to imply that clear color, possibly clear mask, read buffer, and draw buffer are all set in that function. So I wonder if inheritCullSettings is the right place to inherit these values? Or should master-to-slave value setting be done somewhere else? I'd appreciate your input on this, and I'd be glad to code a solution if you can provide some direction. Thanks. -- Paul Martz Skew Matrix Software LLC _http://www.skew-matrix.com_ http://www.skew-matrix.com/ +1 303 859 9466 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] CompositeViewer context cleanup and missing textures
Hi J.P. I've just changed USE_NEW_TEXTURE_POOL to 0 and then tested: osgcamera -r 3 earth_sphere_dt1.ive And it doesn't produce any errors and model always comes up with textures. So it does look like the new osgcamera test is sufficient for testing this particular bug. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] heightfield change height crashes
Hi, i inserted the dirtyDisplayList() into an update callback which i set with setUpdateCallback() and it works, but only if i click into the viewer window and move the heightField ? thanks for the help, i will try also the other variants, to see if they work better. Thank you! Cheers, Thomas -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20380#20380 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] PagedLOD/ProxyNode design discussion
Robert Osfield wrote: got another opinion on the PagedLOD and ProxyNode topic. :-) We have been using both nodes for stuff like pseudo loaders as well and I would recommend to change the interface a little bit. There should be a common interface for all pageable nodes like: class PageingNode : public Group {} and then: class ProxyNode : public PageingNode {} class PagedLOD : public PageingNode {} and now one can easily add custom implementations on top of PageingNode like class MyCustomNodeWhichRefreshesTheSubgraphEvery10Seconds : public PageableNode {} I can see value in this, but I'm not sure how easy it would be to come up with the PagingNode base class - it can't just subclass from osg::Group. I've seen the same situation -- the DatabasePager is really strictly tied to ProxyNode and PagedLOD. Multiple inheritance also opens a can of worms. -- Chris 'Xenon' Hanson, omo sanza lettere Xenon AlphaPixel.com PixelSense Landsat processing now available! http://www.alphapixel.com/demos/ There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VBO's - lifetime.
Hi Robert, The first call (no --vbo) runs correctly. The second and third (with --vbo) do not crash, but the second and third screen are wrong. I also tried the fourth combination osgcamera -r 3 --shared glider.osg. That one worked fine. -- Nico This is the output: osgcamera -r 3 glider.osg + New viewer Viewer ended -- + New viewer Viewer ended -- + New viewer Viewer ended -- osgcamera -r 3 --vbo glider.osg + New viewer Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO GLBufferObjectSet::GLBufferObjectSet _profile._size=13120 GLBufferObjectSet::GLBufferObjectSet _profile._size=640 Viewer ended -- + New viewer Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Warning: detected OpenGL error 'invalid value' at After Renderer::compile Viewer ended -- + New viewer Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Warning: detected OpenGL error 'invalid value' at After Renderer::compile Viewer ended -- osgcamera -r 3 --vbo --shared glider.osg Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO + New viewer GLBufferObjectSet::GLBufferObjectSet _profile._size=13120 GLBufferObjectSet::GLBufferObjectSet _profile._size=640 Viewer ended -- + New viewer Viewer ended -- + New viewer Viewer ended -- ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VBO's - lifetime.
Hi Robert, I realised that another difference is that I'm using the static viewer. I'll try the texture patch, however the model I constructed didn't contain any textures. Just vertices, normals and triangles. -- Nico On Wed, Nov 25, 2009 at 8:08 PM, Robert Osfield robert.osfi...@gmail.comwrote: Hi Nico, I have made a provisional fix to src/osg/Texture.cpp, this fixes the osgcamera runs, but I'm still testing the code so won't check the fix in yet. Could you please try the attached src/osg/Texture.cpp and see if it fixes the problems you are seeing at your end. Robert. ___ 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] Multiple cameras with setRenderOrder(PRE_RENDER, i)
Hi, Paul, I tried your code, then prerender.cpp, then parts of shadowMap.cpp of osgParticle. All failed, (seg fault when images were not attached to textures, and render fail when texture were not have dimentions of power of two), so there had to have been something wrong with the framework I was executing the code under. some investigation found: Code: for( unsigned int i=0; i texture.getNumImages(); ++i){ texture.getImage(i)-ensureValidSizeForTexturing( 134217728 ); } which was forcing power of two dimensions on textures. Interesting though was that it was causing seg faults for texture which did not include images. I will be looking into this some more. thank you for your help ... Thank you! Cheers, Ross[[/code] -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20385#20385 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] PagedLOD/ProxyNode design discussion
Robert Osfield wrote: I can't help but feel that you are trying to making this more complex than it needs to be. Well, not _trying_. ;) Sometimes I am through ignorance. I did not know you could force preload that way without First up pre-loading a plugin to handle extensions is easy, as it's osgconv -e ModifyTerrain model-in.ive model-out.ive Another aspect of the way the plugin mechanism works is that if you just added the extension directly to the osgconv line the ModifyTerrain plugin would be loaded first automatically anyway, Ok, that definitely addresses one of the major issues. I can perhaps just rely on MODIFYTERRAIN intercepting all loads, and selecting which ones it wants to apply to. Finally, changing osgconv's to add support recursion and adding your optional extension on to internal should be trivial. I really can't see a need or great value in adding the extra complexity of a getCombinedFilename() or a osgDB::ModifyFilenameCallback. I'm not sure we're talking on exactly the same wavelength, but I was pretty sure that any approach I came up involving osgconv and suffixes would be frowned upon as adding extraneous application-specific functionality to osgconv. Which, obviously we both wish to avoid. Let me clarify what the issue really is, as I see it (since by necessity, you're not as immersed in the problems and requirements of this design as I have to be). The part that is still left unspecified is this. the pseudoloader has to mark the PagedLOD nodes (or their child filenames, either one works) to indicate which ones should be modified by MODIFYTERRAIN. If MT intercepts all load requests, it needs to know which ones it should actually modify, and skip the others (both for performance reasons, and you might want some data loaded unmodified). Additionally, in order for this flagging to work (and then disappear) during an osgconv conversion where the modifyterrain is being applied via the loader, the marking has to disappear and not be present in the re-saved PagedLOD nodes or their child filenames. Otherwise MT would RE-applied when the converted (and already modified) database was reloaded, which is undesirable. The point of conversion is to apply the modification and then be rid of the runtime modification overhead. This is why the original suffix was designed not to be saved as part of the PagedLOD, and why I am avoiding tinkering with the actual child filename in the PerRangeData. Those changes would stick with the converted database. One might think I could manually stick the suffix on the child filename, and strip it off once the child loaded. However, if the child unloaded and then reloaded during one osgViewer run, the modifyterrain effect would disappear on subsequent loads after the first. However, I think I have a solution that can work without modifying any core OSG code, and still meet all the transparency requirements. I'll use the plugin pre-loading technique to allow MODIFYTERRAIN to intercept all loads. When MT loads a subgraph, it will (at your suggestion, and similar to how it does now setting the database suffix) go through the subgraph and mark each candidate PagedLOD by attaching a custom osgDB::Options. It is my understanding from a brief review of the .osg saver (PagedLOD_writeLocalData) that the osgDB::Options field is not stored when the .osg file format is written, and this is by intention. So, I will use the osgDB::Options to indicate which PagedLODs should receive MT treatment. I plan to do this by adding a plugin string data to the Options object via setPluginStringData with a key/value of PSEUDOLOADERSUFFIX, .modifyterrain. I believe this is within the intended use of the plugin string data. When modifyterrain intercepts the load call, it appears to be provided the osgDB::Options object (from the PagedLOD object), so the pseudoloader can check for the presence of the PSEUDOLOADERSUFFIX=modifyterrain key/value on the Options, and decide whether to post-load-process the subgraph or not. (The alternative to not tracking the pseudoloader-marking state directly on the PagedLOD via the Options is to keep a list of child filenames needing the treatment as a singleton within the MT pseudoloader, but then ModifyTerrain would have to search that list for each load, which could have dire performance on large filename collections, depending on which container type was used.) I think this is practical. Do you have any comments or suggestions on this method before I code it? It should allow osgconv and osgviewer to be completely naive and oblivious to the presence of a pseudoloader using this technique, which is my goal. -- Chris 'Xenon' Hanson, omo sanza lettere Xenon AlphaPixel.com PixelSense Landsat processing now available! http://www.alphapixel.com/demos/ There is no Truth. There is only Perception. To Perceive is to Exist. - Xen
Re: [osg-users] VBO's - lifetime.
Hi Robert, Not too much good news I'm afraid. I tried my application and the osgcamera. I have to stop now. I might have some time to test tomorrow night (it's a private project for now). I attached the model I'm using. It loads fine in my application, but crashes when I close it. The osgcamera doesn't work either: osgcamerad.exe d:\tetra.osg GLBufferObjectSet::GLBufferObjectSet _profile._size=5248 GLBufferObjectSet::GLBufferObjectSet _profile._size=5184 Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 osgcamerad.exe -j 3 d:\tetra.osg + New viewer GLBufferObjectSet::GLBufferObjectSet _profile._size=5248 GLBufferObjectSet::GLBufferObjectSet _profile._size=5184 Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 + New viewer and crashes after the first viewer. I wrote down the callstack when the crash occurs in my application: void BufferObject::releaseGLObjects(State* state) const, with state == 0 void GLBufferObject::releaseGLBufferObject(unsigned int contextID, GLBufferObject* to), with contextID==0 void GLBufferObjectManager::releaseGLBufferObject(GLBufferObject* to) void GLBufferObjectSet::orphan(GLBufferObject* to) The osgcamera example with the slider doesn't work either. Again, the output is correct for the first renderer, but not for the second and third. Here is the output again: osgcamerad.exe -r 3 d:\glider.osg + New viewer Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 + New viewer Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 + New viewer Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 osgcamerad.exe -r 3 --vbo d:\glider.osg + New viewer Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO GLBufferObjectSet::GLBufferObjectSet _profile._size=13120 GLBufferObjectSet::GLBufferObjectSet _profile._size=640 Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 + New viewer Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Warning: detected OpenGL error 'invalid value' at After Renderer::compile Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 + New viewer Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Warning: detected OpenGL error 'invalid value' at After Renderer::compile Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 osgcamerad.exe -r 3 --vbo --shared d:\glider.osg Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO Enabling VBO + New viewer GLBufferObjectSet::GLBufferObjectSet _profile._size=13120 GLBufferObjectSet::GLBufferObjectSet _profile._size=640 Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 + New viewer Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 + New viewer Viewer ended -- Texture::TextureObjectManager::flushAllDeletedTextureObjects() _contextID=0 Texture::TextureObjectManager::discardAllDeletedTextureObjects() _contextID=0 _numActiveTextureObjects=0 tetra.osg Description: Binary data ___ osg-users mailing list osg-users@lists.openscenegraph.org
[osg-users] Some overview of OSG and VPB databases
I've accumulated some notes over time about how OSG and VPB databases works, and I thought I'd share them here for others' enlightenment, and also to ask for corrections. I don't guarantee this is correct, it just seems to be correct based on my understanding. Perhaps someday this might make it into some sort of OSG Terrain Guide or something. Structure of a typical VirtualPlanetBuilder/OSGDEM terrain database Root OSG file looks like: CoordinateSystemNode: Top-level, defines ellipsoid shape of globe PagedLOD Child0:TerrainTile (lowest LOD of terrain model) Child1:Basename_root_L0_X0_Y0/Basename_L0_X0_Y0_subtile.osg (file containing LODs that cover the same extent as Child 0) A VPB TerrainTile (for example, L0_X0_Y0) looks like: TerrainTile (lowest LOD of terrain model) Locator (defines Coordinate System and Transform of TerrainTile) ElevationLayer HeightFieldLayer HeightField: UniqueID, Origin, X/Y Interval, SkirtHeight, Heights [Array] ColorLayer ImageLayer file Basename_L0_X0_Y0.dds SubTile Basename_root_L0_X0_Y0/Basename_L0_X0_Y0_subtile.osg looks like: Group PagedLOD Child0: TerrainTile Child1: Basename_L1_X0_Y0_subtile.osg (Another subtile like this one) PagedLOD Child0: TerrainTile Child1: Basename_L1_X1_Y0_subtile.osg ...more, similar PagedLODs may exist here... In operation, the Root OSG file is loaded by the caller. This file contains a TerrainTile with Color and Elevation data, so as soon as the initial root load is complete, there is a lo-resolution terrain surface visisble. OSG immediately begins cull traversal of this scene graph. During cull traversal, the PagedLOD node probably discovers that the currently visible child (child 0, with the TerrainTile) is insufficient LOD for the current view. The only alternate LOD is Child1, which is an external file. PagedLOD informs the DatabasePager to begin loading this external file and continues on the cull. The load operation has a priority level that hints to the DatabasePager how important this node is, allowing multiple loads to be queued according to how close each one is to the viewer. After the first cull operation is complete, a number of cull/draw cycles may execute while the DatabasePager thread completes loading and possibly compiling the loaded data for use in the scenegraph. During each cull operation that the loaded external child is not yet available, the PagedLOD re-requests the child node to be loaded. This allows the priority of the node in the queue to adjust if the viewpoint moves prior to the node getting loaded. When ready, the DatabasePager inserts the loaded subgraph (see structure of Basename_L0_X0_Y0_subtile.osg) into the scenegraph. At this point, the top PagedLOD is satisfied that it has an appropriate LOD, and subsequent cull operations will traverse the Child1 of the top PagedLOD Node. Child1 itself contains a non-trivial subgraph. At the top of the subgraph are several PagedLOD nodes. Each of these contains its own Child0 LOD, which is not an external file but a TerrainTile complete with ElevationLayer and ColorLayer already loaded in and compiled as part of the Basename_L0_X0_Y0_subtile. So, when the Root-level Child0 TerrainTile is replaced with the root-level Child1 external file, the Basename_L0_X0_Y0_subtile's Child0s immediately cover the exact same visual extent of terrain without any more loading delay. As soon as the Basename_L0_X0_Y0_subtile subgraph is merged into the scenegraph and traversed by cull, the PagedLODs in L0_X0_Y0 will evaluate their LOD criteria (typically expressed not as actual distance, but in realtive-apparent-size-on-screen) and most likely discover they too, are insufficient for the current view. At this point, each of the PagedLODs will decide to load their next LOD child (Child1). Because each of these children will be located at different locations with respect to the viewer, they will each individually determine a different priority, which the DatabasePager will respect when queuing the DatabaseRequest. PagedLOD class has several conditions. The base LOD class and the Group class beneath that require that the container (a std::vector) that contains the actual LODs must be contiguous – no empty slots are permitted in the container. The PagedLOD class defines a parallel container called PerRangeDataList, which is also a vector holding the LOD ranges and external filenames for each child that can be loaded. The contents of these two containers are associated only by the subscript of their contents. What this means in practice is that the LOD children in the Group must be loaded contiguously – no higher LOD can be loaded if a lower LOD is not already loaded. PagedLOD will
Re: [osg-users] Some overview of OSG and VPB databases
Hi Chris, I would like to see these pieces of knowledge added to the Wiki. thanks, Roland -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20390#20390 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Some overview of OSG and VPB databases
Roland Smeenk wrote: Hi Chris, I would like to see these pieces of knowledge added to the Wiki. That may be possible at some point. thanks, Roland -- Chris 'Xenon' Hanson, omo sanza lettere Xenon AlphaPixel.com PixelSense Landsat processing now available! http://www.alphapixel.com/demos/ There is no Truth. There is only Perception. To Perceive is to Exist. - Xen ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [build] How to properly use the OSG_GL3_AVAILABLE CMake option?
Hi Robert and Paul, Thank you both for your replies. Your answers affirmed my own investigations into gl3. For Paul - my OSG project is being developed for Win32 x64. I have just moved it to Windows 7 x64. It is tied to Windows because it is designed to work in concert with other Windows commercial apps that will probably never be ported to Linux. My project is still in development and has a long term objective. My view is forward looking, so I am interested in embracing gl3 as development progresses. I am primarily developing for nVidia hardware, and am particularly interested in nVidia extensions to gl3 that they refer to as Bindness Graphics. nVidia states: Bindless Graphics refers to changes to OpenGL that can enable close to an order of magnitude improvement in the CPU-limitedness of graphics applications. Bindless Graphics has the following desirable properties: • The driver need not dereference a vertex buffer or constant buffer on the CPU in order for the GPU to use it. • Relieves the limits on how many buffer objects can be accessed at once by shaders • Buffer objects are accessed as C-style pointer dereferences in the shading language • Allows for dependent pointer fetches, enabling more complex scene graph structures to be built into buffer objects providing significant new flexibility in the use of shaders. Measurements have shown that bindless graphics can result in more than 7x speedup! Unfortunately the nVidia OpenGL SDK which usually provides code examples seems to be stuck at this time at the GeForce 8 gl2.1 level. Hopefully this will be updated sometime in the future. As it seems that I am at about the same juncture as everyone else with respect to gl3, I don't feel so alone or incompetent as I did when I first began asking questions. I plan to take Paul's advice and begin writing gl3 code. If I come up with anything useful I will gladly contribute it with a submission. I have found that the Red Book 7th Edition covers gl3 and gl3.1. I also found the book Beginning OpenGL Game Programming 2nd Edition by Luke Benstead has been updated to gl3. I have just ordered it, but don't have it yet. Thank you! Cheers, John -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20392#20392 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Custom code in OSG core
Hi Robert and Paul, Oh, I'm sorry I shouldn't have written core OSG: it's maybe more in osg plugins I guess... I have to load huge models. By huge I mean a few thouthands triangles but GB of textures. Of course loading such a model simply leads to a std::bad_alloc. This is why I posted something about lazy textures/images on the mailing list: I must load the model but I don't want all the textures to be loaded at the same time. Depending on what I want to acheive I may need: 1. To leave textures unloaded, but I want writers plugins to do as if the texture was loaded (= the writer simply says the texture is abcd.jpg). 2. To load low-res textures (or maybe not loaded at all), but I want hi-res ones to be switched when needed, especially when writing. I don't expect solutions to be suited for realtime rendering. I only need those huge models to be loaded, then processed (= modifiy geometry without touching the texture or vice-versa, modify only a part of the scene...) and written to disk for future rendering. I got a few ideas for these needs: - Add a noTexture option to readers that stores somewhere the path of the texture file, and add an option to writers to do as if the texture was loaded (but only write to the file the path of the image). This is why I have custom code in reader/writers. But this is clearly an ugly solution as I need to modify each reader/writer. - Create a lazy image, which is loaded only when accessing pixel data. But I don't know if it's easy, and how to do it (as discussed in the corresponding post). And a final note: all my code is given to osg-submissions once stable... I won't violate the OSGPL/LGPL :) So... any idea? If I can acheive this without modifying OSG source code, then I'd be very happpy... Thank you. Sukender PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/ - Robert Osfield robert.osfi...@gmail.com a écrit : Hi Sukender, On Wed, Nov 25, 2009 at 2:26 PM, Sukender suky0...@free.fr wrote: I'm trying to add custom code in some osg plugins (especially 3DS and FBX). I often have to write things like: ADD_DEFINITIONS(-DMY_CUSTOM_CODE) in CMakeLists.txt (or #define MY_CUSTOM_CODE) #ifdef MY_CUSTOM_CODE ... #endif - Can I submit such code (without the #define of course)? - Do you think there could be a nicer way to isolate custom code? - And finally, do you think this could be a good idea to have a CMake option such as USER_DEFINES? And then: FOREACH(CUR_DEFINE ${USER_DEFINES}) ADD_DEFINITIONS(-D${CUR_DEFINE}) ENDFOREACH() The OSG isn't the place for custom code, both for a licensing issues, build issues and maintenance issues. The question really should be how to avoid need for custom code in the core OSG. The use of custom code embedded in the OSG code would suggest that the OSG doesn't support particular features, or isn't extensible enough, or just the that code is tackled in the wrong way. Could you enumerate what custom code you are wanting to put it and why? Perhaps we can figure a way to avoid the need for it completely. Robert. ___ 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] [osgOcean] Wake effects?
Would it be possible to implement sort of a config option with 2 or more shaders for multiple quality levels? This would allow for the use of one shader if you have a more powerful card, or another shader for an older card. Peter -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20395#20395 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] [ANN] The book OpenSceneGraph Design and Implementation is published
Hi all, After 3 months of long waiting (from the SIGGRAPH to present), I am very pleased to announce that, the book *OpenSceneGraph Design and Implementation *, which is written by Wang Rui and Qian Xuelei and predicted on the OSG BOF, finally COMES OUT! Wang Rui and Qian Xuelei, OpenSceneGraph Design and Implementation, Tsinghua University Press, 2009.11; ISBN: 978-7-302-21303-1; Price: 45.00Yuan (about $6.6); Paperback, 377 pages. Please visit the Tsinghua University Press website for more information about this book: http://www.tup.com.cn/book/Showbook.asp?CPBH=033945-01DJ=45 Chinese readers may order it from: http://product.dangdang.com/product.aspx?product_id=20732977 The book resource website: http://code.google.com/p/osgenginebook/ You may freely download the full examples source code and have an overview of them here. Hope the 38 very short examples may help you even without reading the book. I try to build the website Chinese-English bilingual, so don't worry about language limitations. :) More snapshots could be found at http://code.google.com/p/osgenginebook/ I’d like to thank Don Burns and Robert Osfield for their creative efforts to give birth to OpenSceneGraph, as well as over 1700 (maybe even more today?) members of the OSG core community and over 2400 members of the osgChina community, for their support and contribution all the time! Many thanks to Paul Martz of the Skew Matrix, for his tremendous passion for improving OSG documentations and great help on supporting the publication of this book. He also took time out of his busy schedule writing the foreword. Thanks to Wei Zhanying, Guan Yanling, Chen Xuexia and Su Yuyang of Beijing Geo-Vision, for providing all kinds of assistance to the author during writing. Thanks to Xiong Jian of Tsinghua University Press, Zhu Youhong of 3DVRI, Gao Feng of Appsoft, Xu Mingliang of Zhejiang University, CG Laboratory of Beijing Forestry University and Yang Shixing, Xiao Peng and He Sicong of the osgChina Team, for technical reviewing, providing images and examples, and contributing in some other way. Thanks to my co-author Dr. Qian Xuelei, for helping me finish some chapters and proofread the entire text. Finally, I should thank my parents Wang Lihang and Bao Ximei, and my fiancee Leng Qin. I could not have done this without their patience and moral support during the whole time. Best wishes, Wang Rui ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] help me with osg::Imagestream and osg::Image
Hi, yes yes but i execute osgmovie and it say me that i need a pluging what kind of pluging i need?? so it's weird because when i compile the code some libs las image and imagestream doesn't have some functions but .exe it's work correctly why happen that? ... Thank you! Cheers, Ivan -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20397#20397 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [ANN] The book OpenSceneGraph Design and Implementation is published
wow, time to brush up my mandarin! :) Congratulations! -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=20398#20398 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org