Re: [osg-users] animating textures
Hi Julia, If you mean sliding images in a sequenced order you can look at osgimagesequence example. Or you mean rotating, translating, retexturing in new texture coordinate you can achieve these kind of operation by using fixed openGL functions or you can use GLSL to manipulate texture coordinate in fragment shader section. You code only couple of line in fragment shader. I have not ever tried osganimation or osgfx nodekit to get kind of result on textures. Best Regards. 2009/4/6 Julia Guo mrvoltem...@gmail.com Hi, I am trying to animate a transition between textures on a surface. I had a look in osgAnimation ( http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01556.html) but that namespace seems to be just related to geometry. I found osgFX::MultiTextureControl ( http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a00429.html), which can control which textures are active and how to blend them, but doesnt support animating. So to animate between textures should I create a callback to update the texture control (like the rotate example in the manual)? Or is there a better approach? Thank you. Julia -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9763#9763 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Ümit Uzun ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] animating textures
ah - I should have been more specific with what I meant by animation. I want to fade between two textures so that the previous texture slowly gets weaker while the new texture slowly gets stronger. Can shaders manipulate the texture opacity? (I expect so.) And do you think this is a better approach than what OSG provides with the MultiTextureControl? Julia -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9766#9766 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [build] Unreckognized Commands
arwise wrote: I recently downloaded Openscenegraph 2.9.2. But there seemed to be an issue with the Collada-dom 2.2: ..\..\..\..\collada-dom\dom\build\vc9-1.5\libcollada15dom21.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x2F8 It doesn't seem to like the dynamic library for some reason. Any suggestions? The osg collada plugin currently only works with Collada 1.4 and not 1.5. See http://www.openscenegraph.org/projects/osg/wiki/Support/KnowledgeBase/Collada -- Roland -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9767#9767 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] animating textures
jguo wrote: I had a look in osgAnimation (http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01556.html) but that namespace seems to be just related to geometry. That's not entirely true. osgAnimation can be used to generate animated values. These values will have to be linked to some part of your scenegraph, which is done with an AnimationUpdateCallback. The currently available callbacks are indeed only for updating geometry, but a custom AnimationUpdateCallback could be written to update shader uniforms or the textureWeight in a MultiTextureControl. -- Roland -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9768#9768 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] when to use VertexBufferObjects or DisplayLists
Hi Cristian, For best performance clumping geometry together into a smaller set of large tree clusters would be best. As Roland says the osgforest example does flesh out all the different approach that one can use, and misses some that provided the best performance such as clustering lots of trees together into the same osg::Geometry object. Robert. On Sun, Apr 5, 2009 at 6:13 PM, Christian Sam osgfo...@tevs.eu wrote: hi, refering to osgforest as example, is a method like createTransformGraph, where the different looking trees are based on the same (scaled) tree model better from a performance point of view? i mean better than the two other fixed pipeline methods in this example thanks in advance, christian -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9760#9760 ___ 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] VertexArray from a loaded .osg file.
On Mon, Apr 6, 2009 at 12:18 AM, Christian Sam osgfo...@tevs.eu wrote: is it possible to use the VertexArray from the loaded scenefile in a new created Drawable (which will display my analyzing results), AND add additional vertices, based on the analyzing process to it? Or will i have to allocate a new VertexArray for my Drawable and copy the loaded file's VertexArray by Value into it? Yes, ref counting means you can share objects such as osg::Vec3Arrays. Note that OSG itself has a .shp plugin that loads the shape files as Vec3dArray which while very slow for rendering are very good to accuracy. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] osgmultitexturecontrol example data base?
On Mon, Apr 6, 2009 at 1:41 AM, Julia Guo mrvoltem...@gmail.com wrote: Im also trying to run the example. Is the example data ready? I haven't personally put at an publicly available example database together yet. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] animating textures
Hi Julia, osgFX::MultiTextureControl would be able to do what you want. It uses register combiner extensions to do the blending, but you could use your own fragment shader to control the blending precisely. The other way to do it is use a 3D texture and then vary the r coord. See the osgtexture3D example for an example of this. Robert. On Mon, Apr 6, 2009 at 7:46 AM, Julia Guo mrvoltem...@gmail.com wrote: ah - I should have been more specific with what I meant by animation. I want to fade between two textures so that the previous texture slowly gets weaker while the new texture slowly gets stronger. Can shaders manipulate the texture opacity? (I expect so.) And do you think this is a better approach than what OSG provides with the MultiTextureControl? Julia -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9766#9766 ___ 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] OpenFlight-Plugin - How to store individual object in seperate geode?
Hi Bulkhead, I don't know about a reference manual but you have the source. The Optimizer header file is a good reference. Yes, you typically create a custom visitor and set the permitted optimization for the objects (node,stateset, drawable etc.) in question. For the option parameter I would probably start with 0 before fine tuning. To Paul: Next time ;-) I'm trying to keep up with the development of OSG. You never know when it may come in handy. Regards Brede On Mon, Apr 6, 2009 at 6:04 AM, Bulkhead wgy...@gmail.com wrote: Hi Brede, Thanks for the reply. I did a search on the setPermissibleOptimizationsForObject() fucntion and read your posting on osg-users mail-archive, and yup, I think very high chance that this will solve my problem [Wink] But unfortunately, I couldn't find any reference on how to use this function. The first parameter is an osg::Object pointer. Should I pass in every geode (using a geodeVisitor)? As for the second parameter, it will be all the optimization options, except MERGE_GEOMETRY? Also please advise if there's any reference manual that I can refer to? The one on osg wiki page doesn't give much info. Thanks in advanced. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9764#9764 ___ 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] Skybox example problem
Hello all, I compiled the skybox example. And I try to load a big scene. Now I have artefacts in the skybox. I can see the environment sphere. I try a smaller scene and zoom out. I get the same result. When I change the following line from ... clearNode-setRequiresClear(false); ... in ... clearNode-setRequiresClear(true); ... then the environment sphere go missing and I see the clear color. Is the problem the distance of the far clipping plane? And I think the environment sphere is translate with the eye position? Cheers, Martin -- Pt! Schon vom neuen GMX MultiMessenger gehört? Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger01 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [osgPlugins] OpenFlight-Plugin - How to store individual object in seperate geode?
Hi Brede, Just some updates. I have glanced through the codes for the openflight plugin, and not sure if this is correct. Using the preserveObject option, the openflight Object record will be stored in a osg::Group node. All the faces will be stored as osg::Geode under the respective group node. Is this correct? By iterating through the groups, and collecting the geodes in each group, I managed to retrieve the land from my openflight terrain file. However, the buildings are still being grouped based on the texture (i.e. building with same texture are stored under the same group node). Is this how the openflight structure organize the record? Is it feasible to seperate these buildings? Thanks in advanced. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9778#9778 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Problem with osg 2.8.0 and Windows XP
Hi there! I hope anyone can help me with this problem: I successfully compiled OSG 2.8.0 and used and linked it to my application without problems so far. But, when I want to run my application, it crashes after a few seconds with the typical MS crash dialog. osgviewer.exe works fine with .ive and .png files which are also used by my application. Setting the environment variable OSG_NOTIFY_LEVEL to DEBUG shows me this output up to the crash: Code: GraphicsContext::setWindowingSystemInterface() 0x3d9b48 0x707edab0 itr='c:\repository\software\3DVisualization\3DVisualization-devel\bin' FindFileInPath() : trying C:\repository\software\3DVisualization\3DVisualization-devel\bin\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='C:\WINDOWS\system32' FindFileInPath() : trying C:\WINDOWS\system32\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='C:\WINDOWS\System' FindFileInPath() : trying C:\WINDOWS\System\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='C:\WINDOWS' FindFileInPath() : trying C:\WINDOWS\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='.' FindFileInPath() : trying C:\repository\software\3DVisualization\3DVisualization-devel\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='.' FindFileInPath() : trying C:\repository\software\3DVisualization\3DVisualization-devel\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='C:\Programme\msys\1.0\local\bin' FindFileInPath() : trying C:\Programme\msys\1.0\local\bin\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='c:\programme\qt\2009.01\mingw\bin' FindFileInPath() : trying C:\programme\qt\2009.01\mingw\bin\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='C:\Programme\msys\1.0\bin' FindFileInPath() : trying C:\Programme\msys\1.0\bin\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='c:\WINDOWS\system32' FindFileInPath() : trying C:\WINDOWS\system32\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='c:\WINDOWS' FindFileInPath() : trying C:\WINDOWS\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='c:\WINDOWS\System32\Wbem' FindFileInPath() : trying C:\WINDOWS\System32\Wbem\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='c:\programme\qt\2009.01\mingw\bin' FindFileInPath() : trying C:\programme\qt\2009.01\mingw\bin\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='c:\Programme\Qt\2009.01\qt\bin' FindFileInPath() : trying C:\Programme\Qt\2009.01\qt\bin\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... itr='c:\Programme\OpenSceneGraph\bin' FindFileInPath() : trying C:\Programme\OpenSceneGraph\bin\osgPlugins-2.8.0\mingw_osgdb_ive.dll ... FindFileInPath() : USING C:\Programme\OpenSceneGraph\bin\osgPlugins-2.8.0\mingw_osgdb_ive.dll Opened DynamicLibrary osgPlugins-2.8.0/mingw_osgdb_ive.dll FindFileInPath(C:\repository\software\configuration/models/airports/transformed.ive): returning C:\repository\software\configuration/models/airports/transformed.ive ive::DataInputStream.setLoadExternalReferenceFiles()=1 uncompressed ive stream NodeTrackerManipulator::setTrackNode(Node*0x78ef978 ): Path set setTrackNode() MatrixTransform '' NodeTrackerManipulator::setTrackNode(Node*0x85bdfa0 ): Path set setTrackNode() MatrixTransform '' GraphicsContext::registerGraphicsContext 0x7001ff0 GraphicsContext::createNewContextID() creating contextID=0 Updating the MaxNumberOfGraphicsContexts to 1 CullSettings::readEnvironmentalVariables() DatabasePager::addDatabaseThread() HANDLE_NON_HTTP DatabasePager::addDatabaseThread() HANDLE_ONLY_HTTP CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() View::setSceneData() Reusing exisitng scene0x5ab9c48 NodeTrackerManipulator::setTrackNode(Node*0x78ef978 ): Path set setTrackNode() MatrixTransform '' NodeTrackerManipulator::setTrackNode(Node*0x85bdfa0 ): Path set setTrackNode() MatrixTransform '' CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() Viewer::startThreading() - starting threading Viewer::startThreading() - contexts.size()=1 Making scene thread safe ViewerBase::startThreading() : Realizng window 0x7001ff0 Doing add Doing add Doing add Doing add Doing add gc-getGraphicsThread()-startThread() 0x700abe0 Set up threading Doing run 0x700abe0 isRunning()=1 itr='c:\repository\software\3DVisualization\3DVisualization-devel\bin' FindFileInPath() : trying C:\repository\software\3DVisualization\3DVisualization-devel\bin\osgPlugins-2.8.0\mingw_osgdb_png.dll ... itr='C:\WINDOWS\system32' FindFileInPath() : trying C:\WINDOWS\system32\osgPlugins-2.8.0\mingw_osgdb_png.dll ... itr='C:\WINDOWS\System' FindFileInPath() : trying
Re: [osg-users] Loading of osga models dynamically?
Hi I got some idea from the previous reply and did something in my application. But I am not sure that the my following code is doing dynamic loading, //On reading each node(osga file) osg::Node *node=osgDB::readNodeFile(argv[i]); osg::PagedLOD *pLOD=findPLOD(node); int child_no=pLOD-getChildIndex(); pLOD-setRange(child_no,pLOD-getMinRange(child_no),pLOD-getMaxRange(child_no)); group-addChild(node); ... ... viewer.setSceneData(group.get()); viewer.run(); If ur answer is redundant, pls execuse and get me cleared. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9788#9788 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Loading of osga models dynamically?
Hi Aklin, You post just confuses me, there really isn't enough context to what you are doing to really know what is going on, and the the code itself just looks odd, for instance the self reference line: pLOD-setRange(child_no,pLOD- getMinRange(child_no),pLOD-getMaxRange(child_no)); Really don't know what you expect to be happening here. I kinda get the feeling that you need learn a bit more about the concept LODs as much as the OSG API. Robert. On Mon, Apr 6, 2009 at 12:41 PM, Akilan akilan.thangam...@gmail.com wrote: Hi I got some idea from the previous reply and did something in my application. But I am not sure that the my following code is doing dynamic loading, //On reading each node(osga file) osg::Node *node=osgDB::readNodeFile(argv[i]); osg::PagedLOD *pLOD=findPLOD(node); int child_no=pLOD-getChildIndex(); pLOD-setRange(child_no,pLOD-getMinRange(child_no),pLOD-getMaxRange(child_no)); group-addChild(node); ... ... viewer.setSceneData(group.get()); viewer.run(); If ur answer is redundant, pls execuse and get me cleared. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9788#9788 ___ 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] Windows users - VS2008 comments
Hi Sherman, VS2008 has been slowly adopted by C++ developers, because when compared to VS2005 it does not features anything new that is easily visible. My experience is that if you get the choice between VS2005 and VS2008, go for VS2008. It's more stable in general (the C++ compiler and the C++ standard library feature more bug fixes). Also as you said, VS2008 has the /MP option, which I now use all the time. Tanguy -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of sherman wilcox Sent: Saturday 04 April 2009 17:30 To: OpenSceneGraph Users Subject: [osg-users] Windows users - VS2008 comments Slightly off-topic for this mailing list but here goes. For the Windows users out there, those of you that are using or know of developers using VS2008 - any comments? Problems, benefits, pros/cons? My project is using VS2005 and has been for a while now but I'm considering switching to VS2008. In my case there's only one reason - the /MP benefit. /MP enables parallel compilation. For multiprocessor or multicore systems it's a real performance increase. I'm not talking about parallel builds of multiple projects but compiling multiple modules in the same project(s) in parallel. On VS2005 /MP is undocumented but works, mostly. It's a tremendous performance boost. However, I've ran into a PDB corruption issue here as of late. Error C2471. Not sure why it's suddenly happening as I've been using /MP for a long while now. I believe Gordon warned me this could happen and it has. I phoned Microsoft about this and they said that /MP is unsupported on VS2005 and I have no recourse but to either not use that feature (no way - too fast) or upgrade to VS2008. So, I may be upgrading. However, there are numerous developers on my project and I want to have a clear understanding of any potential issues before moving forward. I'll be purchasing a copy to test but I'd like to hear from the list. ___ 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] [osgPlugins] Warning : Could not find plug-in for reading objects from file .osga?
Hi, I am using osg2.2(from binary executable) on visual studio 2005. My application loads (readNodeFile) osga files from specified folder. It happens properly when the folder contains less number of osga files. When the number of files exceed certain number (say some 500 or more), it throws Warning : Could not find plug-in for reading objects from file xyz.osga and readNodeFile fails. I saw the post for similar kind of problem while reading png /jpeg files. Let me know what needs to be done for osga file reading error? ... Thank you. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9786#9786 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Windows users - VS2008 comments
We upgraded from VS2003 to VS2008 a few months ago and the only issue we ran into was in the conversion of existing projects from VS2003 to VS2008. It seems there are a few issues with optimization settings from converted projects. Some of our projects that were showing as having /O2 optimization, where actually being built with no optimization. We just decided to re-create the projects in VS2008 and have not had any issues since then. - Donny On Sat, Apr 4, 2009 at 11:30 AM, sherman wilcox wilcox.sher...@gmail.comwrote: Slightly off-topic for this mailing list but here goes. For the Windows users out there, those of you that are using or know of developers using VS2008 - any comments? Problems, benefits, pros/cons? My project is using VS2005 and has been for a while now but I'm considering switching to VS2008. In my case there's only one reason - the /MP benefit. /MP enables parallel compilation. For multiprocessor or multicore systems it's a real performance increase. I'm not talking about parallel builds of multiple projects but compiling multiple modules in the same project(s) in parallel. On VS2005 /MP is undocumented but works, mostly. It's a tremendous performance boost. However, I've ran into a PDB corruption issue here as of late. Error C2471. Not sure why it's suddenly happening as I've been using /MP for a long while now. I believe Gordon warned me this could happen and it has. I phoned Microsoft about this and they said that /MP is unsupported on VS2005 and I have no recourse but to either not use that feature (no way - too fast) or upgrade to VS2008. So, I may be upgrading. However, there are numerous developers on my project and I want to have a clear understanding of any potential issues before moving forward. I'll be purchasing a copy to test but I'd like to hear from the list. ___ 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] Problem with osg 2.8.0 and Windows XP
Sorry, I forgot to mention the environment: I am using the MinGW compiler within the MSYS environment together with the current Qt4-SDK. cheers, Philipp -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9791#9791 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] when to use VertexBufferObjects or DisplayLists
thank you all for the performance hints, as far as i have understood you, i should try to move from a geode-addDrawable(createSingleTreeSprite) to a geode-addDrawable(createMultiTreeGeometry(Cell)). with that approach also different tree geometry (width/size) should be possible without performance loss? (although using different textures in one cell is impossible) greetings, christian -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9782#9782 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [osgPlugins] OpenFlight-Plugin - How to store individual object in seperate geode?
Bulkhead, If you use osgconv to compare your OpenFlight structure with the OSG structure (.osg) don't forget to set the environment variable OSG_OPTIMIZER=OFF. With the preserve??? reader options they should be almost identical. The reason OpenFlight faces becomes Geode+Drawable is because a drawable can't store flight comments and billboard information. If I remember correct a long time ago the drawables couldn't even store the face id because the drawables didn't have the name attribute. Brede On Mon, Apr 6, 2009 at 11:59 AM, Bulkhead wgy...@gmail.com wrote: Hi Brede, Just some updates. I have glanced through the codes for the openflight plugin, and not sure if this is correct. Using the preserveObject option, the openflight Object record will be stored in a osg::Group node. All the faces will be stored as osg::Geode under the respective group node. Is this correct? By iterating through the groups, and collecting the geodes in each group, I managed to retrieve the land from my openflight terrain file. However, the buildings are still being grouped based on the texture (i.e. building with same texture are stored under the same group node). Is this how the openflight structure organize the record? Is it feasible to seperate these buildings? Thanks in advanced. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9778#9778 ___ 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] animating textures
Hi Roland, Yes the idea should be to use a UpdateCallback that use easemotion. I will try to make new example with ease motion and stateset callback. I guess that to fade in/out texture, the osgFX::MultitextureControl is ready to use. Cheers, Cedric Roland Smeenk wrote: jguo wrote: I had a look in osgAnimation (http://www.openscenegraph.org/documentation/OpenSceneGraphReferenceDocs/a01556.html) but that namespace seems to be just related to geometry. That's not entirely true. osgAnimation can be used to generate animated values. These values will have to be linked to some part of your scenegraph, which is done with an AnimationUpdateCallback. The currently available callbacks are indeed only for updating geometry, but a custom AnimationUpdateCallback could be written to update shader uniforms or the textureWeight in a MultiTextureControl. -- Roland -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9768#9768 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- +33 (0) 6 63 20 03 56 Cedric Pinson mailto:morni...@plopbyte.net http://www.plopbyte.net ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Windows users - VS2008 comments
Something we have been told on 2VS2008 is the trick with upgrading projects is not to led VS2008 doit , simply open the proje files in a tex editor and manually change the version number from 2005 to 2008 version __ Gordon Tomlinson mailto:gor...@gordontomlinson.com gor...@gordontomlinson.com IM: mailto:gordon3db...@3dscenegraph.com gordon3db...@3dscenegraph.com http://www.vis-sim.com/ www.vis-sim.com http://www.gordontomlinson.com/ www.gordontomlinson.com __ From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Donald Cipperly Sent: Monday, April 06, 2009 6:26 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Windows users - VS2008 comments We upgraded from VS2003 to VS2008 a few months ago and the only issue we ran into was in the conversion of existing projects from VS2003 to VS2008. It seems there are a few issues with optimization settings from converted projects. Some of our projects that were showing as having /O2 optimization, where actually being built with no optimization. We just decided to re-create the projects in VS2008 and have not had any issues since then. - Donny On Sat, Apr 4, 2009 at 11:30 AM, sherman wilcox wilcox.sher...@gmail.com wrote: Slightly off-topic for this mailing list but here goes. For the Windows users out there, those of you that are using or know of developers using VS2008 - any comments? Problems, benefits, pros/cons? My project is using VS2005 and has been for a while now but I'm considering switching to VS2008. In my case there's only one reason - the /MP benefit. /MP enables parallel compilation. For multiprocessor or multicore systems it's a real performance increase. I'm not talking about parallel builds of multiple projects but compiling multiple modules in the same project(s) in parallel. On VS2005 /MP is undocumented but works, mostly. It's a tremendous performance boost. However, I've ran into a PDB corruption issue here as of late. Error C2471. Not sure why it's suddenly happening as I've been using /MP for a long while now. I believe Gordon warned me this could happen and it has. I phoned Microsoft about this and they said that /MP is unsupported on VS2005 and I have no recourse but to either not use that feature (no way - too fast) or upgrade to VS2008. So, I may be upgrading. However, there are numerous developers on my project and I want to have a clear understanding of any potential issues before moving forward. I'll be purchasing a copy to test but I'd like to hear from the list. ___ 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] Warning : Could not find plug-in forreading objects from file .osga?
Make sure that the OSG DLL's and plugin DLL's are in your PATH Gordon Product Manager 3d __ Gordon Tomlinson Email : gtomlinson @ overwatch.textron.com __ -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Akilan Sent: Monday, April 06, 2009 6:50 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] [osgPlugins] Warning : Could not find plug-in forreading objects from file .osga? Hi, I am using osg2.2(from binary executable) on visual studio 2005. My application loads (readNodeFile) osga files from specified folder. It happens properly when the folder contains less number of osga files. When the number of files exceed certain number (say some 500 or more), it throws Warning : Could not find plug-in for reading objects from file xyz.osga and readNodeFile fails. I saw the post for similar kind of problem while reading png /jpeg files. Let me know what needs to be done for osga file reading error? ... Thank you. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9786#9786 ___ 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] Problem with osg 2.8.0 and Windows XP
Maybe this helps: osgsimulation crashes as well [Crying or Very sad] : Code: [...] GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_transform_feedback GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NV_vertex_program2 GL_NV_vertex_program2_option GL_NV_vertex_program3 GL_S3_s3tc GL_SGIS_generate_mipmap GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow GL_SUN_slice_accum GL_WIN_swap_hint WGL_ARB_buffer_region WGL_ARB_create_context WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_multisample WGL_ARB_pbuffer WGL_ARB_pixel_format WGL_ARB_pixel_format_float WGL_ARB_render_texture WGL_ATI_pixel_format_float WGL_EXT_extensions_string WGL_EXT_framebuffer_sRGB WGL_EXT_pixel_format_packed_float WGL_EXT_swap_control WGL_NV_float_buffer WGL_NV_multisample_coverage WGL_NV_render_depth_texture WGL_NV_render_texture_rectangle OpenGL extension 'GL_ARB_vertex_program' is supported. OpenGL extension 'GL_EXT_secondary_color' is supported. OpenGL extension 'GL_EXT_fog_coord' is supported. OpenGL extension 'GL_ARB_multitexture' is supported. OpenGL extension 'GL_NV_occlusion_query' is supported. OpenGL extension 'GL_ARB_occlusion_query' is supported. OpenGL extension 'GL_EXT_timer_query' is supported. Done DatabasePager::addLoadedDataToSceneGraph0.00180212ms, 0.000805152ms objects0 OpenGL extension 'GL_ARB_vertex_program' is supported. Setting up osg::Camera::FRAME_BUFFER_OBJECT OpenGL extension 'GL_ARB_multitexture' is supported. OpenGL extension 'GL_EXT_texture_filter_anisotropic' is supported. OpenGL extension 'GL_ARB_texture_compression' is supported. OpenGL extension 'GL_EXT_texture_compression_s3tc' is supported. OpenGL extension 'GL_IBM_texture_mirrored_repeat' is supported. OpenGL extension 'GL_EXT_texture_edge_clamp' is supported. OpenGL extension 'GL_ARB_texture_border_clamp' is supported. OpenGL extension 'GL_SGIS_generate_mipmap' is supported. OpenGL extension 'GL_ARB_shadow' is supported. OpenGL extension 'GL_ARB_shadow_ambient' is not supported. OpenGL extension 'GL_APPLE_client_storage' is not supported. OpenGL extension 'GL_ARB_texture_non_power_of_two' is supported. OpenGL extension 'GL_EXT_texture_integer' is supported. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9793#9793 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Problem with osg 2.8.0 and Windows XP
Hi Philipp, I can't see how others can help you unless they've used your specific version of windows + Mingw and have come across the exact same error. I have heard of others using Mingw so it should be possible to get things working, but it's a pretty uncommon platform for developers to use so it's not widely tested like the mainstream platforms combinations. Information to help others help you, that you've so far not provided are: Mingw version. Stack trace of the crash. An explanation of what leads up to the crash/what you app does that is different from osgviewer. Without this information bobody has anything to go on so won't be able to help. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Problem with osg 2.8.0 and Windows XP
Hi Robert, thanks for your answer! I am currently working to get the stack trace myself. This might help even me to understand the problem. I hoped someone familiar with that environment might see the problem immediately after having a short look at it, maybe that's not so realistic as you just wrote. By the way: MinGW is the one from inside the Qt 4.5 SDK. MSYS is of version 1.0.10. Thanks again! Philipp -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9795#9795 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] How to get heightfield from ReadFileCallback VPB Terrain
Hi Robert I have gotten a bit further with this, and there are some indications it might be a viable solution. But I have run into a problem, it seams that Im not removing patches from my physics engine when higher resolutions patches replaces them. Can You confirm that If a given osgTerrain::TerrainTile is replaced by its four higher resolution children the acociated heightfields are not deleted, and as a result the observer callback is not called? And if this is the case do you have any good ideas on how to figure out when to disable these patches in the physics engine, so that I dont have multiple patches loaded for the same area? Brgs. Ralf Stokholm 2009/4/3 Robert Osfield robert.osfi...@gmail.com: Hi Ralf, Use the osg::Observer mechanism for watching when objects get deleted. Just register your observer with the TerrainTile/HeightField you've set up your physics for then you'll be able to get your observer called when it goes out of scope. osg::observert_ptr uses osg::Observer, as does osg::State so have a look at these for usage of Observer. Robert. On Fri, Apr 3, 2009 at 11:44 AM, Ralf Stokholm alfma...@arenalogic.com wrote: Hi Robert Its not that I need to keep the memmory around. I need to know when a terrain tile is unloaded from the scene and use that event to unload the physics heightfield as well. Im guessing the life of a TerrainTile is similar to this: 1. Loaded/created by the database pager 2. Added to the scenegraph by the databasepager. 3. Disabled/hidden by the CullVisitor. 4. Enabled/Shown by the CullVisitor. (possibly if it is only culled out for a short time OSG 2.6.1) 5. Unloaded/Destroyed. I need a way to catch at least event 1 and 5. Could this be done using reference counting or is there a better way? Brgs. Ralf Stokholm 2009/4/3 Robert Osfield robert.osfi...@gmail.com: Hi Ralf, If you need to keep the memory around then use a ref_ptr to the HeightField, but... this will keep the memory around so if you do no longer need it you might want to implement a scheme to free it, such as watching when the ref count goes to one. The other approach is to use an observer_ptr that doesn't change the ref count of the HeightFiled, and gets reset to 0 when the HeightField get deleted. You can also use a custom osg::Observer to watch for object deletions as well. Robert On Fri, Apr 3, 2009 at 11:22 AM, Ralf Stokholm alfma...@arenalogic.com wrote: Hi Robert (list) Im trying to use the ReadFileCallback to load the heightfield int my physics engine. So far I have been using a CullVisitor to grap the triangles from the finished scene, but it has major drawback in that it forces me to load the data as meshes which is terrible for memmory and takes a long time to load. It seams im able to load the data as heightfields from the ReadFileCallback, but this leads to my next problem. I need a way to reference the data later, to be able to remove it when tiles are deletet and disable it when tiles are disabled by the scene cullvisitor. Is there a way to relate the nodes i visit in my ReadFileCallback to nodes i visit in a special cullvisitor for the final scenegraph? Basically do you have any hints on how to syncronise the state of my physics engine with the state of my Paged VPB terrain? Brgs. Ralf Stokholm 2009/4/2 Ralf Stokholm alfma...@arenalogic.com: Hi Robert Thanks a lot, was starting to get at this but using a more primitive approach of running through all the children of the node that I did get. Will try to implement your method. Brgs. Ralf Stokholm 2009/4/2 Robert Osfield robert.osfi...@gmail.com: Hi Ralf, You'll need to write a custom NodeVisitor that traverses through the loaded scene graph and picks out the TerrainTile using dyanmic cast. It just so happens that I'm actually working on a ReadFileCallback/custom Visitor that does pick out all the TerrainTile's in a subgraph (there will typically be one, two or four due to the quad tree structure generated by VPB.) The visitor looks like: class FindTerrainTileVisitor : public osg::NodeVisitor { public: FindTerrainTileVisitor(): osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN) { } void reset() { _terrainTiles.clear(); } void apply(osg::Group group) { osgTerrain::TerrainTile* terrainTile = dynamic_castosgTerrain::TerrainTile*(group); if (terrainTile) { _terrainTiles.push_back(terrainTile); } else { traverse(group); } } typedef std::list osg::ref_ptrosgTerrain::TerrainTile TerrainTiles; TerrainTiles _terrainTiles; }; The custom ReadFileCallback's readNode method looks like:
[osg-users] RTT and viewport offset
Hi, I've encountered an issue with rendering to texture and then displaying that texture with a viewport that doesn't start at 0,0. I'm using osgPPU for this, but I believe the issue is in OSG. In osgUtil/RenderStage.cpp, in RenderStage::runCameraSetUp the width and height are calculated as: int width = static_castint(_viewport-x() + _viewport-width()); int height = static_castint(_viewport-y() + _viewport-height()); This width and height is then used to create RenderBuffers for the missing attachments. If the viewport starts at non-zero values, this means the created RenderBuffers will not have dimensions (vp-width, vp-height) whereas the attached texture likely will have those dimenstions. Thus the FBO will then generate FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT error. Removing the additions of _viewport-x()/y() fixes my issue. I was wondering if there was a good reason for doing it the way it's done. Kind regards, Rick -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9797#9797 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] How to get heightfield from ReadFileCallback VPB Terrain
Hi Ralf, Lower levels of detail aren't unreferenced but kept around in any paged database, this includes a osgTerrain::TerrainTile based paged database. As how to manage the mapping of which physics tiles should be active... well I don't know what to recommend, there a lots of different ways you could probably tackle it. My job is the scene graph, I'll leave application dev issues to members of the community. Robert. On Mon, Apr 6, 2009 at 3:12 PM, Ralf Stokholm alfma...@arenalogic.comwrote: Hi Robert I have gotten a bit further with this, and there are some indications it might be a viable solution. But I have run into a problem, it seams that Im not removing patches from my physics engine when higher resolutions patches replaces them. Can You confirm that If a given osgTerrain::TerrainTile is replaced by its four higher resolution children the acociated heightfields are not deleted, and as a result the observer callback is not called? And if this is the case do you have any good ideas on how to figure out when to disable these patches in the physics engine, so that I dont have multiple patches loaded for the same area? Brgs. Ralf Stokholm 2009/4/3 Robert Osfield robert.osfi...@gmail.com: Hi Ralf, Use the osg::Observer mechanism for watching when objects get deleted. Just register your observer with the TerrainTile/HeightField you've set up your physics for then you'll be able to get your observer called when it goes out of scope. osg::observert_ptr uses osg::Observer, as does osg::State so have a look at these for usage of Observer. Robert. On Fri, Apr 3, 2009 at 11:44 AM, Ralf Stokholm alfma...@arenalogic.com wrote: Hi Robert Its not that I need to keep the memmory around. I need to know when a terrain tile is unloaded from the scene and use that event to unload the physics heightfield as well. Im guessing the life of a TerrainTile is similar to this: 1. Loaded/created by the database pager 2. Added to the scenegraph by the databasepager. 3. Disabled/hidden by the CullVisitor. 4. Enabled/Shown by the CullVisitor. (possibly if it is only culled out for a short time OSG 2.6.1) 5. Unloaded/Destroyed. I need a way to catch at least event 1 and 5. Could this be done using reference counting or is there a better way? Brgs. Ralf Stokholm 2009/4/3 Robert Osfield robert.osfi...@gmail.com: Hi Ralf, If you need to keep the memory around then use a ref_ptr to the HeightField, but... this will keep the memory around so if you do no longer need it you might want to implement a scheme to free it, such as watching when the ref count goes to one. The other approach is to use an observer_ptr that doesn't change the ref count of the HeightFiled, and gets reset to 0 when the HeightField get deleted. You can also use a custom osg::Observer to watch for object deletions as well. Robert On Fri, Apr 3, 2009 at 11:22 AM, Ralf Stokholm alfma...@arenalogic.com wrote: Hi Robert (list) Im trying to use the ReadFileCallback to load the heightfield int my physics engine. So far I have been using a CullVisitor to grap the triangles from the finished scene, but it has major drawback in that it forces me to load the data as meshes which is terrible for memmory and takes a long time to load. It seams im able to load the data as heightfields from the ReadFileCallback, but this leads to my next problem. I need a way to reference the data later, to be able to remove it when tiles are deletet and disable it when tiles are disabled by the scene cullvisitor. Is there a way to relate the nodes i visit in my ReadFileCallback to nodes i visit in a special cullvisitor for the final scenegraph? Basically do you have any hints on how to syncronise the state of my physics engine with the state of my Paged VPB terrain? Brgs. Ralf Stokholm 2009/4/2 Ralf Stokholm alfma...@arenalogic.com: Hi Robert Thanks a lot, was starting to get at this but using a more primitive approach of running through all the children of the node that I did get. Will try to implement your method. Brgs. Ralf Stokholm 2009/4/2 Robert Osfield robert.osfi...@gmail.com: Hi Ralf, You'll need to write a custom NodeVisitor that traverses through the loaded scene graph and picks out the TerrainTile using dyanmic cast. It just so happens that I'm actually working on a ReadFileCallback/custom Visitor that does pick out all the TerrainTile's in a subgraph (there will typically be one, two or four due to the quad tree structure generated by VPB.) The visitor looks like: class FindTerrainTileVisitor : public osg::NodeVisitor { public: FindTerrainTileVisitor():
Re: [osg-users] RTT and viewport offset
Hi Rick -- That's a piece of code I've looked at, and scratched my head a little, but I think it's right. Adding the xy to the width and height makes sense. OSG is trying to compute the total space required for rendering. If your viewport is (200,50,800,600), then the total number of pixels you need in that buffer is: ( (200+800) * (50+600) ) pixels. If you fail to add in the xy values, the resulting buffer will not be big enough. I'm curious if you have small reproducer code that shows this is really an issue? Because what I hear you saying is: * You render to a texture (presumable with the default viewport) * Then you render that texture in a scene with xy viewport offsets. So in that case, there would be two render stages: * In the first stage, all the buffer attachments would be the size of your destination texture, which presumably uses the default viewport with (0,0) xy offsets. * Only the second stage would need buffer attachments whose size incorporates the non-zero xy viewport offsets. The two sets of buffers should be consistent within each render stage and you should not get an OpenGL error. Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com +1 303 859 9466 -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Rick Appleton Sent: Monday, April 06, 2009 8:39 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] RTT and viewport offset Hi, I've encountered an issue with rendering to texture and then displaying that texture with a viewport that doesn't start at 0,0. I'm using osgPPU for this, but I believe the issue is in OSG. In osgUtil/RenderStage.cpp, in RenderStage::runCameraSetUp the width and height are calculated as: int width = static_castint(_viewport-x() + _viewport-width()); int height = static_castint(_viewport-y() + _viewport-height()); This width and height is then used to create RenderBuffers for the missing attachments. If the viewport starts at non-zero values, this means the created RenderBuffers will not have dimensions (vp-width, vp-height) whereas the attached texture likely will have those dimenstions. Thus the FBO will then generate FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT error. Removing the additions of _viewport-x()/y() fixes my issue. I was wondering if there was a good reason for doing it the way it's done. Kind regards, Rick -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9797#9797 ___ 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] problem in picking operation
The ostream error isn't OSG. It sounds like somehow you don't have the standard library working. Can you write just a simple c++ program to print on stdout? For console output in osg it's safer to use the osg::Notify stream. For the second part - If you haven't changed the example code to introduce a bug, I suspect you have a mix of OSG compiled with a different compiler. Can you build osg with the VS 2003? -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9801#9801 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] problem in picking operation
Hello Msrsas? (please sign posts using a real name, it makes exchanges much more friendly) 1. If I use readNodeFile and try to print out using std, it gives the error as error LNK2019: unresolved external symbol __declspec(dllimport) public: class std::basic_ostreamchar,struct .. *I have added necessary header files. You're not being very precise (including actual code would have helped), but this sounds like you're trying to do something like this: osg::Node* node = osgDB::readNodeFile(somefile.osg); std::cout *node std::endl; Now, unless I'm mistaken, this cannot work because nowhere in OSG is an output operator (operator) defined which takes an osg::Node. That's why you'd be getting an error about an unresolved external symbol, because the linker is trying to find this output operator but it isn't defined anywhere. You could make one if you want. 2. QSG Picking example gives the output but if i click on the cow object it gives error as Unhandled exception at 0x7c901230... and ask for user breakpoint in dbgheap.c file. I have tried intersection using line intersector in other program but the same error occurs. Seems to me like you're trying to dereference a null pointer? Again, relevant code would help and perhaps also a stack trace... Unhandled exception is just a generic error message meaning something went wrong, without more info no one could do more than guess at what exactly might be going wrong. Hope this helps, 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
[osg-users] start/stop viewer
Hello osg-list, I'd like to find the best way to adapt osg::viewer to control its rendering: in one case I want the usual case where viewer-run is doing its thing at 60 fps. But, then, I have other GUI windows (MFC-based) and I want to stop the viewer, and then render a single frame, all using the same geometry. What's the best approach for such a design? Can I (using the examples for MFC) call viewer-stopThreads and then manually render a single frame, and then call run, startThreads, etc. subsequently, and repeat this as often as I like? Thanks, Bob ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] How to get heightfield from ReadFileCallback VPB Terrain
Hi Robert Lower levels of detail aren't unreferenced but kept around in any paged database, this includes a osgTerrain::TerrainTile based paged database. I was expecting this. With regards to active tiles, my problem is that going this approach I cant figure out how to extract the state information from the scenegraph. From what I understand the TerrainTiles that I process during my read file callback will not provide any information on when they are invalidated by the loading of higher resolution tiles, right? I understand that the physics part is specific to my application, but an interface or pattern for syncronising the active scenegraph generated when running an osgTerrain::TerrainTile based paged database with a given application is usefull in other places. As I said so far we have been using a cullvisitor that runs through the entire scenegraph looking for terrain nodes. It then checks if these nodes are already in our set of nodes. If its not a new physics object is generated by pulling the geometry using a trianglevisitor. This method is both slow, repeats bookkeping already performed in the Terrain/Scene graph machinery and uses way more memmory than is neccecery. Basically I end up generating 3 unique vertices and 3 indecies for each triangle rendered. This will consime roughly 28 times the amount of memmory that would be needed if I could use the heightfield data directly. Brgs. Ralf 2009/4/6 Robert Osfield robert.osfi...@gmail.com: Hi Ralf, Lower levels of detail aren't unreferenced but kept around in any paged database, this includes a osgTerrain::TerrainTile based paged database. As how to manage the mapping of which physics tiles should be active... well I don't know what to recommend, there a lots of different ways you could probably tackle it. My job is the scene graph, I'll leave application dev issues to members of the community. Robert. On Mon, Apr 6, 2009 at 3:12 PM, Ralf Stokholm alfma...@arenalogic.com wrote: Hi Robert I have gotten a bit further with this, and there are some indications it might be a viable solution. But I have run into a problem, it seams that Im not removing patches from my physics engine when higher resolutions patches replaces them. Can You confirm that If a given osgTerrain::TerrainTile is replaced by its four higher resolution children the acociated heightfields are not deleted, and as a result the observer callback is not called? And if this is the case do you have any good ideas on how to figure out when to disable these patches in the physics engine, so that I dont have multiple patches loaded for the same area? Brgs. Ralf Stokholm 2009/4/3 Robert Osfield robert.osfi...@gmail.com: Hi Ralf, Use the osg::Observer mechanism for watching when objects get deleted. Just register your observer with the TerrainTile/HeightField you've set up your physics for then you'll be able to get your observer called when it goes out of scope. osg::observert_ptr uses osg::Observer, as does osg::State so have a look at these for usage of Observer. Robert. On Fri, Apr 3, 2009 at 11:44 AM, Ralf Stokholm alfma...@arenalogic.com wrote: Hi Robert Its not that I need to keep the memmory around. I need to know when a terrain tile is unloaded from the scene and use that event to unload the physics heightfield as well. Im guessing the life of a TerrainTile is similar to this: 1. Loaded/created by the database pager 2. Added to the scenegraph by the databasepager. 3. Disabled/hidden by the CullVisitor. 4. Enabled/Shown by the CullVisitor. (possibly if it is only culled out for a short time OSG 2.6.1) 5. Unloaded/Destroyed. I need a way to catch at least event 1 and 5. Could this be done using reference counting or is there a better way? Brgs. Ralf Stokholm 2009/4/3 Robert Osfield robert.osfi...@gmail.com: Hi Ralf, If you need to keep the memory around then use a ref_ptr to the HeightField, but... this will keep the memory around so if you do no longer need it you might want to implement a scheme to free it, such as watching when the ref count goes to one. The other approach is to use an observer_ptr that doesn't change the ref count of the HeightFiled, and gets reset to 0 when the HeightField get deleted. You can also use a custom osg::Observer to watch for object deletions as well. Robert On Fri, Apr 3, 2009 at 11:22 AM, Ralf Stokholm alfma...@arenalogic.com wrote: Hi Robert (list) Im trying to use the ReadFileCallback to load the heightfield int my physics engine. So far I have been using a CullVisitor to grap the triangles from the finished scene, but it has major drawback in that it forces me to load the data as meshes which is terrible for memmory and takes a long time to load. It seams im able to load the data as heightfields from the
Re: [osg-users] start/stop viewer
Hi Bob, The viewer only renders a frame when you call viewer.frame(). If you are calling the convenience function viewer.run() then just replace this run call with the constuent parts of Viewer::run() i.e. while(!viewer.done()) { viewer.advance(); viewer.eventTraversal(); viewer.updateTraversal(); viewer.renderingTraversals(); } Robert. On Mon, Apr 6, 2009 at 6:56 PM, Bob Youmans byoum...@knology.net wrote: Hello osg-list, I’d like to find the best way to adapt osg::viewer to control its rendering: in one case I want the usual case where viewer-run is doing its thing at 60 fps. But, then, I have other GUI windows (MFC-based) and I want to stop the viewer, and then render a single frame, all using the same geometry. What’s the best approach for such a design? Can I (using the examples for MFC) call viewer-stopThreads and then “manually” render a single frame, and then call run, startThreads, etc. subsequently, and repeat this as often as I like? Thanks, Bob ___ 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] problem in picking operation
Defining for osg::Node* node = osgDB::readNodeFile(somefile.osg); std::cout *node std::endl; Isn't such a daft idea - it would certainly help with debugging - I think I will take a look at doing that unless it's obviously stupid? -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9806#9806 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] problem in picking operation
Hi Martin, Defining for osg::Node* node = osgDB::readNodeFile(somefile.osg); std::cout *node std::endl; Isn't such a daft idea - it would certainly help with debugging - I think I will take a look at doing that unless it's obviously stupid? No, I don't think it's stupid, I guess everyone would have slightly different expectations as to what it should output but a suitable default version could be integrated into OSG, sure. I guess you could print out the address and, if name is not empty, the name. If you really have time on your hands, you could do the same for Group (which would go through its children and print them out), Drawable, Geode (which would go through its drawables), MatrixTransform (which would print out the matrix), etc. :-) Have fun, 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] problem in picking operation
Hi Martin, On Mon, Apr 6, 2009 at 8:42 PM, Martin Beckett m...@mgbeckett.com wrote: Defining for osg::Node* node = osgDB::readNodeFile(somefile.osg); std::cout *node std::endl; Isn't such a daft idea - it would certainly help with debugging - I think I will take a look at doing that unless it's obviously stupid? Um so what exactly would you output if you did implement a ostream operator for osg::Node? How would you format it. Too many different variables at play to even begin to implement such an operator. In svn/trunk there is a osgUtil::PrintVisitor that does so very basic printing of class name and nesting, perhaps this is sufficient for your purposes. Robert, ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] start/stop viewer
Thanks for the very helpful guidance you provide. In the MFC example, I think the .run() method is already replaced by this: //viewer-run(); while(!viewer-done()) { osg-PreFrameUpdate(); viewer-frame(); osg-PostFrameUpdate(); } I understand your suggestion about the details in the frame() call. Here's more detail about my intended use: For example, I want the user to be able to spin the model and look at it, but then click a start button and then (ignoring the user inputs) systematically traverse an axis between some values, and/or viewing angles, and then when finished, let the user look at it again (with the rendering details changed (color transparency, other textures, etc.). I was thinking I could stop the normal viewer threading that responds to user input and then drive it myself from another function.When finished I would restart the viewer to respond to user input. There's probably a better way. Would I be better off using update traversals, animation stuff, or some other osg design I haven't learned yet? How about osgPPU? What do you think of it? Thanks, bob From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: Monday, April 06, 2009 2:37 PM To: OpenSceneGraph Users Subject: Re: [osg-users] start/stop viewer Hi Bob, The viewer only renders a frame when you call viewer.frame(). If you are calling the convenience function viewer.run() then just replace this run call with the constuent parts of Viewer::run() i.e. while(!viewer.done()) { viewer.advance(); viewer.eventTraversal(); viewer.updateTraversal(); viewer.renderingTraversals(); } Robert. On Mon, Apr 6, 2009 at 6:56 PM, Bob Youmans byoum...@knology.net wrote: Hello osg-list, I'd like to find the best way to adapt osg::viewer to control its rendering: in one case I want the usual case where viewer-run is doing its thing at 60 fps. But, then, I have other GUI windows (MFC-based) and I want to stop the viewer, and then render a single frame, all using the same geometry. What's the best approach for such a design? Can I (using the examples for MFC) call viewer-stopThreads and then manually render a single frame, and then call run, startThreads, etc. subsequently, and repeat this as often as I like? Thanks, Bob ___ 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] problem in picking operation
I was thinking of type, number of vertices, normals, colour - address of parent and any children. I agree it's hard to make it part of the standard build because every user would want something different. I just wanted to make it easier for a user (me) to understand what is happening in a scenegraph without drilling down in the debugger. A print visitor is more OSG'ish in style and is easier to overload to provide more detail if the user needs it. The print visitor takes an ostream directly but I could use getNotifyLevel() inside the apply() and output more detail (such as every vertex) at high levels. For the archives: Code: #include osg/NodeVisitor PrintVisitor pv(osg::notify(osg::NOTICE)); node-accept(pv); [/code] -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=9810#9810 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] searching for old friend
howdy im looking for an old friend aweson / ex illusion aka marc balzig ive seen a post on this list but its from 2006.. so if someone knows him please tell him im looking for him. maybe hes still registered in the mailing list. :)) regards gentleman Pt! Schon vom neuen WEB.DE MultiMessenger gehört? Der kann`s mit allen: http://www.produkte.web.de/messenger/?did=3123 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] VPB texture disappear
Hi Robert -- I'm seeing an issue where, as the viewpoint approaches the terrain, textures surrounding a high-res inset disappear. This is with very current VPB and OSG running on Mac OS X with a GeForce 8800 card. ss0.jpg shows the scene just before the issue occurs. As I move the viewpoint forward (closer to the terrain), I see the image in ss1.jpg. I also get several instances of the following error in the console: Warning: detected OpenGL error 'invalid enumerant' after RenderBin::draw(,) There is strong correlation between this error and the appearance of segments of the database rendered with a missing texture image. I've attached the mkdb.sh script I used to generate the database. Do you have any hints on what might be going on here? This is not the first time I've seen this issue, so I don't think it's new. I've tried changing the value of OSG_DATABASE_PAGER_DRAWABLE but this has no effect on the issue. I'll try rendering the DB on a Windows box and see if I get the same results. Thanks for any help. Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com http://www.skew-matrix.com/ +1 303 859 9466 attachment: ss0.jpgattachment: ss1.jpg#!/bin/sh osgdem -v 10 --geocentric --terrain -d ../source-elev -t ../source-img --so globe.vpb -o globe.ive vpbcache --cache globe.cache -s globe.vpb --add vpbmaster -s globe.vpb --cache globe.cache ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB texture disappear
Same issue viewing the DB on a Windows box, so apparently not a driver issue. I'll try building the DB on Windows. This might take a while; it's not a hot box like my MacPro... Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com http://www.skew-matrix.com/ +1 303 859 9466 _ From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Paul Martz Sent: Monday, April 06, 2009 7:30 PM To: osg-users@lists.openscenegraph.org Subject: [osg-users] VPB texture disappear Hi Robert -- I'm seeing an issue where, as the viewpoint approaches the terrain, textures surrounding a high-res inset disappear. This is with very current VPB and OSG running on Mac OS X with a GeForce 8800 card. ss0.jpg shows the scene just before the issue occurs. As I move the viewpoint forward (closer to the terrain), I see the image in ss1.jpg. I also get several instances of the following error in the console: Warning: detected OpenGL error 'invalid enumerant' after RenderBin::draw(,) There is strong correlation between this error and the appearance of segments of the database rendered with a missing texture image. I've attached the mkdb.sh script I used to generate the database. Do you have any hints on what might be going on here? This is not the first time I've seen this issue, so I don't think it's new. I've tried changing the value of OSG_DATABASE_PAGER_DRAWABLE but this has no effect on the issue. I'll try rendering the DB on a Windows box and see if I get the same results. Thanks for any help. 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] VPB texture disappear
Hey Paul, I've seen this issue before with non power of two textures not being supported in some situations. VPB tries to use npot textures at the lowest level of detail to most closely match the resolution of the source imagery. Try generating your DB using --pot and see what happens, I bet it works. Thanks, Jason On Mon, Apr 6, 2009 at 9:37 PM, Paul Martz pma...@skew-matrix.com wrote: Same issue viewing the DB on a Windows box, so apparently not a driver issue. I'll try building the DB on Windows. This might take a while; it's not a hot box like my MacPro... Paul Martz *Skew Matrix Software LLC* http://www.skew-matrix.com +1 303 859 9466 -- *From:* osg-users-boun...@lists.openscenegraph.org [mailto: osg-users-boun...@lists.openscenegraph.org] *On Behalf Of *Paul Martz *Sent:* Monday, April 06, 2009 7:30 PM *To:* osg-users@lists.openscenegraph.org *Subject:* [osg-users] VPB texture disappear Hi Robert -- I'm seeing an issue where, as the viewpoint approaches the terrain, textures surrounding a high-res inset disappear. This is with very current VPB and OSG running on Mac OS X with a GeForce 8800 card. ss0.jpg shows the scene just before the issue occurs. As I move the viewpoint forward (closer to the terrain), I see the image in ss1.jpg. I also get several instances of the following error in the console: Warning: detected OpenGL error 'invalid enumerant' after RenderBin::draw(,) There is strong correlation between this error and the appearance of segments of the database rendered with a missing texture image. I've attached the mkdb.sh script I used to generate the database. Do you have any hints on what might be going on here? This is not the first time I've seen this issue, so I don't think it's new. I've tried changing the value of OSG_DATABASE_PAGER_DRAWABLE but this has no effect on the issue. I'll try rendering the DB on a Windows box and see if I get the same results. Thanks for any help. Paul Martz *Skew Matrix Software LLC* 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] VPB texture disappear
Thanks. I'll give that a try. If NPOT is the issue, then apparently VPB requires NPOT support at DB build time, not just at run time. I found that creating the same DB on my Windows laptop with Quadro 1500M works great. Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com http://www.skew-matrix.com/ +1 303 859 9466 _ From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Jason Beverage Sent: Monday, April 06, 2009 7:41 PM To: OpenSceneGraph Users Subject: Re: [osg-users] VPB texture disappear Hey Paul, I've seen this issue before with non power of two textures not being supported in some situations. VPB tries to use npot textures at the lowest level of detail to most closely match the resolution of the source imagery. Try generating your DB using --pot and see what happens, I bet it works. Thanks, Jason On Mon, Apr 6, 2009 at 9:37 PM, Paul Martz pma...@skew-matrix.com wrote: Same issue viewing the DB on a Windows box, so apparently not a driver issue. I'll try building the DB on Windows. This might take a while; it's not a hot box like my MacPro... Paul Martz Skew Matrix Software LLC http://www.skew-matrix.com http://www.skew-matrix.com/ +1 303 859 9466 _ From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Paul Martz Sent: Monday, April 06, 2009 7:30 PM To: osg-users@lists.openscenegraph.org Subject: [osg-users] VPB texture disappear Hi Robert -- I'm seeing an issue where, as the viewpoint approaches the terrain, textures surrounding a high-res inset disappear. This is with very current VPB and OSG running on Mac OS X with a GeForce 8800 card. ss0.jpg shows the scene just before the issue occurs. As I move the viewpoint forward (closer to the terrain), I see the image in ss1.jpg. I also get several instances of the following error in the console: Warning: detected OpenGL error 'invalid enumerant' after RenderBin::draw(,) There is strong correlation between this error and the appearance of segments of the database rendered with a missing texture image. I've attached the mkdb.sh script I used to generate the database. Do you have any hints on what might be going on here? This is not the first time I've seen this issue, so I don't think it's new. I've tried changing the value of OSG_DATABASE_PAGER_DRAWABLE but this has no effect on the issue. I'll try rendering the DB on a Windows box and see if I get the same results. Thanks for any help. 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org