Re: [osg-users] osgEarth at FOSS4G in Denver
hmm, it considers my eMail adress (xx.info) not as valid email address... Cheers, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38839#38839 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] osgDB ifstream / ofstream conflict
Hi, This seems to be the same / related to an issue raised some time ago with VS2010. When I build VirtualPlanetBuilder with VS2010 I get errors complaining about duplicate definitions of the stream destructors (cant remember the details of hand). The same code works without issue on non-windows platforms and all other VS compilers tried. As I don't have time to look into the issue I simply force the link to complete with multiply defined symbols. A quick search through my local OSG-users archive found the thread + message included bellow. Do a search through the archives around this topic and you should find all the details. Cheers, Brad Re: [osg-users] OT: VS2010 LNK2005 problem related to ostringstream Ok, I have localized the problem. For example, the class osgDB::fstream: class OSGDB_EXPORT fstream : public std::fstream { }; which just inherits from std:.fstream causes the symbols of std::fstream to be exposed into osgDB.dll This effectively means that It might cause problems for people linking against osgDB.dll later on. Same goes for inheriting from std::string, std::ostringstream etc. This must obviously be a bug, a very serious one in VS2010. We had a class derived from std::ostringstream, which exposed the symbols in the vtable for the class: namespace ns { class Notify : public std::ostringstream { }; } Using depends.exe to analyze the dll-file gives: const ns::Notify::`vftable'{for `std::basic_ostringstreamchar,struct std::char_traitschar,class std::allocatorchar '} My issue was reported to the msdn forum. Their first take was: Oh you use CMake, thats not our product :-) But in later threads, they tried to reproduce the problem without luck... So if you manage to reproduce this in a small example, go ahead and post it. We must make them aware of this problem. http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/191de00a-53c9-4bd9-9cb6-e844eb224ca2 /Anders From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Vincent Bourdier Sent: Wednesday, 27 April 2011 11:47 PM To: osg user Subject: Re: [osg-users] osgDB ifstream / ofstream conflict Hi, Sorry to insist but I would appreciate any advices about this issue. Maybe I'm the only one who encountered it, but the patch I did is not so... clean to my mind... Thanks. Regards, Vincent. Le 21/04/2011 14:50, Vincent Bourdier a écrit : Hi all, I just found a fix after some tests, but it is not a fix I am proud of. I just added the close() method in osgDB/fstream implementation, so there is no conflict because my fstream implementation uses osgDB/fstream and not osgDB/fstream AND std::fstream. I will continue to investigate to be sure to understand why this occurs, but any advices or explanations are welcome. If my fix is accepted this could be a submission for OSG, eventually... Thanks. Regards, Vincent. Le 20/04/2011 14:54, Vincent Bourdier a écrit : Hi Mourad Thanks for your answer but I already checked that. TsLib_MDdNET2010 is a static lib but linked with /MD(d), like my application... Vincent. Le 20/04/2011 11:50, Mourad Boufarguine a écrit : Hi Vincent, On Mon, Apr 4, 2011 at 4:36 PM, Vincent Bourdier vincent.bourd...@gmail.commailto:vincent.bourd...@gmail.com wrote: 2TsLib_MDdNET2010.lib(IwPoly.obj) : error LNK2005: public: void __thiscall std::basic_ifstreamchar,struct std::char_traitschar ::close(void) (?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in osgDBd.lib(osg65-osgDBd.dll) 2TsLib_MDdNET2010.lib(IwBrepData.obj) : error LNK2005: public: void __thiscall std::basic_ifstreamchar,struct std::char_traitschar ::close(void) (?close@?$basic_ifstream@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in osgDBd.lib(osg65-osgDBd.dll) It seems like a static/dynamic c++ runtime conflict. Check if osg and TsLib_MDdNET2010 are linked against the same type of c++ runtime (both with /MTd flag or both with /MDd flag) Mourad DISCLAIMER:--- This e-mail transmission and any documents, files and previous e-mail messages attached to it are private and confidential. They may contain proprietary or copyright material or information that is subject to legal professional privilege. They are for the use of the intended recipient only. Any unauthorised viewing, use, disclosure, copying, alteration, storage or distribution of, or reliance on, this message is strictly prohibited. No part may be reproduced, adapted or transmitted without the written permission of the owner. If you have received this transmission in error, or are not an authorised recipient, please immediately notify the sender by return email, delete this message and all copies from your e-mail system, and destroy any printed copies. Receipt by anyone other than the intended recipient should not be deemed a waiver of any privilege or
Re: [osg-users] Meta-data in core OSG - project started
Hi all, this meta system looks very interesting. I started to implement such a system for osgVisual for data management, but it seems that your approach is much more sophisticated and finally allows me to plug in my use cases quite easy. I'm happy that such a framework is developed for OSG. I have cross-read the V4 document, but unfortunately I'm currently too much occupied by my doctoral thesis to add usefull ideas/components. I'll try to stay up to date and maybe can add some comments. Thanks for your effort, it is great work! Best regards from Salzburg, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38841#38841 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Windows users please test svn/trunk
HI Torben, On Thu, Apr 28, 2011 at 6:58 AM, Torben Dannhauer tor...@dannhauer.info wrote: I will rebuild my OSG today or tomorrow evening. What testing procedure should I run? Is just using osgViewer in multithreading sufficient? If it compiles that is probably good enough. I think the risk to the runtime is much lower than the risk to a build error. Running standard OSG examples such as osgviewer and trying out the different threading models is probably sufficient runtime testing. Testing your own apps would also be useful, but not critical at this point - in theory I should fixing potential bugs rather than introducing them ;-) Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Indentify whether 3ds model read has color layers or textures?
Hi all, I was wondering if anyone can help me out whether it is possible to verify whether a 3ds model i have read using: theNode = osgDB::readNodeFile(filenameUsed, options); has color layers or has textures? The reason i am asking is bacause i would like to treat them differently when writing out to IVE. Thank you! Cheers, Dan -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38843#38843 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Windows users please test svn/trunk
Hi Robert, It compiles fine on my Windows XP and Visual Studio 8, and seems to work well, too. Cheers, Wang Rui 2011/4/28 Robert Osfield robert.osfi...@gmail.com: HI Torben, On Thu, Apr 28, 2011 at 6:58 AM, Torben Dannhauer tor...@dannhauer.info wrote: I will rebuild my OSG today or tomorrow evening. What testing procedure should I run? Is just using osgViewer in multithreading sufficient? If it compiles that is probably good enough. I think the risk to the runtime is much lower than the risk to a build error. Running standard OSG examples such as osgviewer and trying out the different threading models is probably sufficient runtime testing. Testing your own apps would also be useful, but not critical at this point - in theory I should fixing potential bugs rather than introducing them ;-) 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] osgEarth at FOSS4G in Denver
How annoying!! Maybe ask a friend to register and send you the email? It's anonymous anyway. Thanks. I will see if I can report the problem. Glenn Waldron / Pelican Mapping / 703.652.4791 / @glennwaldron On Thu, Apr 28, 2011 at 2:01 AM, Torben Dannhauer tor...@dannhauer.infowrote: hmm, it considers my eMail adress (xx.info) not as valid email address... Cheers, Torben -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38839#38839 ___ 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] vpb generated .osga model seems disturb shared memory in qt4
Hi, ... Problem solved! It is about some qt q_timer not-blocking signal issue,it is indeed nothing wrong with osg or vpb.I dont excatly know why,but I hope it will help others. Thank you all for your assistances in my most difficult time! Cheers, Lv -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38847#38847 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] osgEarth at FOSS4G in Denver
I voted! -- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com http://www.alphapixel.com/ Digital Imaging. OpenGL. Scene Graphs. GIS. GPS. Training. Consulting. Contracting. 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
[osg-users] Supporting multiple frame rates
Hello, We currently have an OSG based application which renders at 30-60+ fps on our development hardware with discrete gpus. Unfortunately we have to be able to deploy on a wide range of hardware including stuff that is significantly less capable (Intel GPUs, etc). On some of these slower platforms we are seeing framerates that are 10-15 fps. This is actually ok for us with one exception, live video. We show live video in the scene graph (for now strictly in the HUD). We have a requirement to make the video render at native speed (~30 fps). I am looking for a way to make the HUD/video render at 30 fps and let the rest of the scene graph render at a floating rate (whatever the machine can handle). How might this be accomplished? Since this is a HUD, obviously it must ultimately render to the same graphics context, however it doesn't really need to respect the depth buffer, etc of the rest of the scene (it should always render on top). PS Should I be thinking about render to texture? Related threads I came across: http://forum.openscenegraph.org/viewtopic.php?t=7858 http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2008- January/006000.html http://forum.openscenegraph.org/viewtopic.php?t=7117 Thanks -Brad ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Supporting multiple frame rates
Hi Brad, I'm afraid decoupling the rendering of two parts of graphics window so that they can run at their own frame rate won't be a straight forward task, and well off the standard viewer path used by the vast majority of the community. You are infact the first I recall wanting to do exactly this combination of video at 30fps and man scene at it's own frame rate. Thoughts off the top of my head: You only need to do something special when 3D scene takes longer than 30ms and would cause frame rate to drop below the min 30fps, so the follow suggestions are for when frame rate would drop below 30. Could you render the video to the front buffer and just overlay the background 3D scene? This would enable you to remove the need for a swap buffers call at the end of the render of teh video texture. Another approach would be to render the 3D scene into a texture and then compose each frame from the 3D scene texture and the video texture and do the swap buffers at video texture frame rate. In both cases you the 3D scene is taking too long to render, and since you are using a single graphics context there isn't a natural way to split up and decouple the rendering completely, so to be able to put out frames at 30fps you'll need to break the render of the 3D scene into segments each of which can fit into with the time available when rendering at 30fps. Splitting the scene won't be trivial, the easist method would be something like depth partitioning, and render different partition in depth and balance the depth range for each so that the load is as well balanced as you can get it. That's my best suggestions so far... Far from trivial to set up, very much on the bleeding edge! Robert. On Thu, Apr 28, 2011 at 4:39 PM, Brad Huber br...@procerus.com wrote: Hello, We currently have an OSG based application which renders at 30-60+ fps on our development hardware with discrete gpus. Unfortunately we have to be able to deploy on a wide range of hardware including stuff that is significantly less capable (Intel GPUs, etc). On some of these slower platforms we are seeing framerates that are 10-15 fps. This is actually ok for us with one exception, live video. We show live video in the scene graph (for now strictly in the HUD). We have a requirement to make the video render at native speed (~30 fps). I am looking for a way to make the HUD/video render at 30 fps and let the rest of the scene graph render at a floating rate (whatever the machine can handle). How might this be accomplished? Since this is a HUD, obviously it must ultimately render to the same graphics context, however it doesn’t really need to respect the depth buffer, etc of the rest of the scene (it should always render on top). PS Should I be thinking about render to texture? Related threads I came across: http://forum.openscenegraph.org/viewtopic.php?t=7858 http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2008-January/006000.html http://forum.openscenegraph.org/viewtopic.php?t=7117 Thanks -Brad ___ 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] Supporting multiple frame rates
Hi Brad, I haven't tried this myself, but it might work. Create a separate context/thread that renders the scene to a texture. Once it finishes rendering, use the NV_copy_image extension ( http://developer.download.nvidia.com/opengl/specs/GL_NV_copy_image.txt) to copy the image into the main context containing the HUD. I haven't used the NV_copy_image extension myself, but from my understanding it allows copying texture data between different contexts. I'm not sure if ATI has a similar extension. Cheers, Farshid On Thu, Apr 28, 2011 at 8:39 AM, Brad Huber br...@procerus.com wrote: Hello, We currently have an OSG based application which renders at 30-60+ fps on our development hardware with discrete gpus. Unfortunately we have to be able to deploy on a wide range of hardware including stuff that is significantly less capable (Intel GPUs, etc). On some of these slower platforms we are seeing framerates that are 10-15 fps. This is actually ok for us with one exception, live video. We show live video in the scene graph (for now strictly in the HUD). We have a requirement to make the video render at native speed (~30 fps). I am looking for a way to make the HUD/video render at 30 fps and let the rest of the scene graph render at a floating rate (whatever the machine can handle). How might this be accomplished? Since this is a HUD, obviously it must ultimately render to the same graphics context, however it doesn’t really need to respect the depth buffer, etc of the rest of the scene (it should always render on top). PS Should I be thinking about render to texture? Related threads I came across: http://forum.openscenegraph.org/viewtopic.php?t=7858 http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2008-January/006000.html http://forum.openscenegraph.org/viewtopic.php?t=7117 Thanks -Brad ___ 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] Fine-grained render ordering
Hi, CraigIn your example, put camera A as child of B with render order on camera A set to prerender.Cheers, Sergey.27.04.2011, 18:38, "Craig S. Bosma" craig.bo...@gmail.com:Robert,Thanks for pointing out the "TraversalOrderBin", I wasn't aware of that. However, I'm still a little unclear on how that might help for my use. Suppose I have a scene with with a root Group node and two child Camera Nodes, A and B. Suppose both render to a texture via FBO, and that B needs A's texture output. If I put the root node in the "TraversalOrderBin", would that guarantee that camera A is rendered completely before camera B? What if A instead were a child of B?Thanks,Craig On Tuesday, April 26, 2011 at 5:01 AM, Robert Osfield wrote: Hi Craig,The best way to manage render bin is vis State::setRenderBinDetails(),and in the 2.9.x dev series you can now select a render bin that sortson traversal order of a subgrpah which makes some techniques easier -use the RenderBin string "TraversalOrderBin" to select this bin.If you want to create and chain RenderStages then using an osg::Camerain the scene graph is often one of the best ways to do this, and usethe Camera::setRenderOrder(..) to control the order. You can also usea custom cull traversal callback to create RenderStage/RenderBin andassign these to the rendering backend, but this does require a greaterknowledge of the internals of the rendering backend.Robert.On Fri, Apr 22, 2011 at 9:52 PM, Craig S. Bosma craig.bo...@gmail.com wrote:Hi,I'm working on a shader-driven graphics pipeline for an OSG-based app, and Iwant to better understand how I can better control the rendering order. Iwant to render my initial scene to several texture targets, with opaque andtransparent objects handled separately. Currently I do this using nodemasks, but from this thread(http://forum.openscenegraph.org/viewtopic.php?t=2374) it seems like itwould be better to use renderbin/renderstages. I have several morepost-processing stages to follow, so I'm convinced that's the way to go forme to have full control over the pipeline.I've dug into the source for SceneView, RenderBin, RenderStage, etc. butit's not obvious to me how to shift objects from one bin to another (asidefrom setRenderBinDetails), or how to add stages that form a dependencychain. If anyone has examples or general advice on where to look, I'd beglad to hear it.Thanks,Craig___osg-users mailing listosg-users@lists.openscenegraph.orghttp://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org___osg-users mailing listosg-users@lists.openscenegraph.orghttp://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___osg-users mailing listosg-users@lists.openscenegraph.orghttp://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] Supporting multiple frame rates
Robert, Farshid, Thanks for the ideas. Given what you've said, would it make more sense to pursue using two contexts? Perhaps the main scene would render to an invisible off screen context and then the visible context would copy the frame buffer from the invisible context and render the video frames on top of that. I imagine there would be some difficulty in having additional threading complexity to deal with. -Brad -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: Thursday, April 28, 2011 9:59 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Supporting multiple frame rates Hi Brad, I'm afraid decoupling the rendering of two parts of graphics window so that they can run at their own frame rate won't be a straight forward task, and well off the standard viewer path used by the vast majority of the community. You are infact the first I recall wanting to do exactly this combination of video at 30fps and man scene at it's own frame rate. Thoughts off the top of my head: You only need to do something special when 3D scene takes longer than 30ms and would cause frame rate to drop below the min 30fps, so the follow suggestions are for when frame rate would drop below 30. Could you render the video to the front buffer and just overlay the background 3D scene? This would enable you to remove the need for a swap buffers call at the end of the render of teh video texture. Another approach would be to render the 3D scene into a texture and then compose each frame from the 3D scene texture and the video texture and do the swap buffers at video texture frame rate. In both cases you the 3D scene is taking too long to render, and since you are using a single graphics context there isn't a natural way to split up and decouple the rendering completely, so to be able to put out frames at 30fps you'll need to break the render of the 3D scene into segments each of which can fit into with the time available when rendering at 30fps. Splitting the scene won't be trivial, the easist method would be something like depth partitioning, and render different partition in depth and balance the depth range for each so that the load is as well balanced as you can get it. That's my best suggestions so far... Far from trivial to set up, very much on the bleeding edge! Robert. On Thu, Apr 28, 2011 at 4:39 PM, Brad Huber br...@procerus.com wrote: Hello, We currently have an OSG based application which renders at 30-60+ fps on our development hardware with discrete gpus. Unfortunately we have to be able to deploy on a wide range of hardware including stuff that is significantly less capable (Intel GPUs, etc). On some of these slower platforms we are seeing framerates that are 10-15 fps. This is actually ok for us with one exception, live video. We show live video in the scene graph (for now strictly in the HUD). We have a requirement to make the video render at native speed (~30 fps). I am looking for a way to make the HUD/video render at 30 fps and let the rest of the scene graph render at a floating rate (whatever the machine can handle). How might this be accomplished? Since this is a HUD, obviously it must ultimately render to the same graphics context, however it doesnt really need to respect the depth buffer, etc of the rest of the scene (it should always render on top). PS Should I be thinking about render to texture? Related threads I came across: http://forum.openscenegraph.org/viewtopic.php?t=7858 http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org /2008-January/006000.html http://forum.openscenegraph.org/viewtopic.php?t=7117 Thanks -Brad ___ 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] Windows users please test svn/trunk
On 4/27/2011 10:40 AM, Robert Osfield wrote: I'm currently reviewing a Converity analysis of the OSG and to address some of the issues have had to modify Win32 specific code in OpenThreads, I've tried to be careful with these changes but since I don't have Windows dev box I can't test these changes I've checked in. So... Windows users could you please svn/trunk and let me know if there are any issues with what I've checked in. Windows binary builds here: VS10/2010 http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x64-debug-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x64-debug-12326-PDBs.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x64-release-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x86-debug-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x86-debug-12326-PDBs.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x86-release-12326.7z VS9/2008 http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x64-debug-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x64-debug-12326-PDBs.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x64-release-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x86-debug-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x86-debug-12326-PDBs.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x86-release-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x86-release-12326-RefPtrImplConvOff.7z Please someone let Robert and I know if you download and test these at all. -- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com http://www.alphapixel.com/ Digital Imaging. OpenGL. Scene Graphs. GIS. GPS. Training. Consulting. Contracting. 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
[osg-users] how to convert float to osgText::String
Hi, I have a simple question How to convert a float number to osgText::String in order to display with osgText::Text::setText function? ... Thank you! Cheers, Nan -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38855#38855 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] how to convert float to osgText::String
On Thu, 2011-04-28 at 19:27 +0200, Nan WANG wrote: Hi, I have a simple question How to convert a float number to osgText::String in order to display with osgText::Text::setText function? Try ::createUTF8EncodedString(), or something like that. ... Thank you! Cheers, Nan -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38855#38855 ___ 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 Update
More investigation, still not much clearer. I'm hoping with a more concrete example someone can tell me what I'm missing... My main issue is how to change the coordinate system of a bone within the skeleton hierarchy. This could be done previously by just modifying the rotation of the bones bind matrix. Now that doesn't seem to work for me. A specific example using osganimationskinning:: This example currently rotates about the local z-axis of each joint. Let's say that I now want to rotate the first joint about the vertical axis instead. This could be accomplished by changing the axis of the rotate transform for the bone as follows: Code: pRight0Update-getStackedTransforms().push_back(new osgAnimation::StackedRotateAxisElement(rotate, osg::Vec3(0,1,0), 0)); but how would I do this by changing coordinate system of the bone such that the existing rotation would now rotate about the vertical axis? I did this previously by adjusting the rotation of the bind matrix, but adding any rotation to the bind matrix in this case seems to just distort the mesh. I'm sure I'm missing something key... Thanks in advance for any thoughts --jamie[/code] -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38857#38857 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Supporting multiple frame rates
Hi Brad, I also thought about the two context route but didn't suggest it as I'm doubtful that the graphics driver/card will be able to interleave the rendering on the two threads in way that doesn't have one thread stalling the other as they contend for resources on the graphics card. Using a pbuffer to render the 3d scene and the main graphics window doing the compositing would be the easier option to implement though, so I'd suggest trying it out, you'd need to use two viewers to decouple the frames, at least then you'd know whether it's good enough a solution or not. Robert. On Thu, Apr 28, 2011 at 5:52 PM, Brad Huber br...@procerus.com wrote: Robert, Farshid, Thanks for the ideas. Given what you've said, would it make more sense to pursue using two contexts? Perhaps the main scene would render to an invisible off screen context and then the visible context would copy the frame buffer from the invisible context and render the video frames on top of that. I imagine there would be some difficulty in having additional threading complexity to deal with. -Brad -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: Thursday, April 28, 2011 9:59 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Supporting multiple frame rates Hi Brad, I'm afraid decoupling the rendering of two parts of graphics window so that they can run at their own frame rate won't be a straight forward task, and well off the standard viewer path used by the vast majority of the community. You are infact the first I recall wanting to do exactly this combination of video at 30fps and man scene at it's own frame rate. Thoughts off the top of my head: You only need to do something special when 3D scene takes longer than 30ms and would cause frame rate to drop below the min 30fps, so the follow suggestions are for when frame rate would drop below 30. Could you render the video to the front buffer and just overlay the background 3D scene? This would enable you to remove the need for a swap buffers call at the end of the render of teh video texture. Another approach would be to render the 3D scene into a texture and then compose each frame from the 3D scene texture and the video texture and do the swap buffers at video texture frame rate. In both cases you the 3D scene is taking too long to render, and since you are using a single graphics context there isn't a natural way to split up and decouple the rendering completely, so to be able to put out frames at 30fps you'll need to break the render of the 3D scene into segments each of which can fit into with the time available when rendering at 30fps. Splitting the scene won't be trivial, the easist method would be something like depth partitioning, and render different partition in depth and balance the depth range for each so that the load is as well balanced as you can get it. That's my best suggestions so far... Far from trivial to set up, very much on the bleeding edge! Robert. On Thu, Apr 28, 2011 at 4:39 PM, Brad Huber br...@procerus.com wrote: Hello, We currently have an OSG based application which renders at 30-60+ fps on our development hardware with discrete gpus. Unfortunately we have to be able to deploy on a wide range of hardware including stuff that is significantly less capable (Intel GPUs, etc). On some of these slower platforms we are seeing framerates that are 10-15 fps. This is actually ok for us with one exception, live video. We show live video in the scene graph (for now strictly in the HUD). We have a requirement to make the video render at native speed (~30 fps). I am looking for a way to make the HUD/video render at 30 fps and let the rest of the scene graph render at a floating rate (whatever the machine can handle). How might this be accomplished? Since this is a HUD, obviously it must ultimately render to the same graphics context, however it doesn’t really need to respect the depth buffer, etc of the rest of the scene (it should always render on top). PS Should I be thinking about render to texture? Related threads I came across: http://forum.openscenegraph.org/viewtopic.php?t=7858 http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org /2008-January/006000.html http://forum.openscenegraph.org/viewtopic.php?t=7117 Thanks -Brad ___ 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
Re: [osg-users] Windows users please test svn/trunk
Hi Chris, Thanks for the doing the builds ;-) It's rather more effort than I was thinking of users might go to, all I required was a thumbs whether svn/trunk was still compiling under Windows, so I do hope that all these builds are nicely automated and didn't take too much of your time. Thanks again, Robert. On Thu, Apr 28, 2011 at 6:02 PM, Chris 'Xenon' Hanson xe...@alphapixel.com wrote: On 4/27/2011 10:40 AM, Robert Osfield wrote: I'm currently reviewing a Converity analysis of the OSG and to address some of the issues have had to modify Win32 specific code in OpenThreads, I've tried to be careful with these changes but since I don't have Windows dev box I can't test these changes I've checked in. So... Windows users could you please svn/trunk and let me know if there are any issues with what I've checked in. Windows binary builds here: VS10/2010 http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x64-debug-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x64-debug-12326-PDBs.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x64-release-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x86-debug-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x86-debug-12326-PDBs.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS10.0.30319-x86-release-12326.7z VS9/2008 http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x64-debug-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x64-debug-12326-PDBs.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x64-release-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x86-debug-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x86-debug-12326-PDBs.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x86-release-12326.7z http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/12326/OpenSceneGraph-trunk-VS9.0.30729-x86-release-12326-RefPtrImplConvOff.7z Please someone let Robert and I know if you download and test these at all. -- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com http://www.alphapixel.com/ Digital Imaging. OpenGL. Scene Graphs. GIS. GPS. Training. Consulting. Contracting. 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] how to convert float to osgText::String
Hi Nan, The easiest way for converting a float to a string with Standard C++ is to use a stringstream and just direct the output you want to a stream, then get the std::string from this using stream.str(). Once you have a std::string you can pass this to osgText::Text. Robert. On Thu, Apr 28, 2011 at 6:27 PM, Nan WANG nan.c...@gmail.com wrote: Hi, I have a simple question How to convert a float number to osgText::String in order to display with osgText::Text::setText function? ... Thank you! Cheers, Nan -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38855#38855 ___ 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 please test svn/trunk
On 4/28/2011 12:29 PM, Robert Osfield wrote: It's rather more effort than I was thinking of users might go to, all I required was a thumbs whether svn/trunk was still compiling under Windows, so I do hope that all these builds are nicely automated and didn't take too much of your time. It's semi-automated. It built fine, we mainly made these so people could test if it still WORKED too. ;) Thanks again, Robert. -- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com http://www.alphapixel.com/ Digital Imaging. OpenGL. Scene Graphs. GIS. GPS. Training. Consulting. Contracting. 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] OSG-based excavator simulator
Hi Torben, Sorry I couldn't reply sooner, I was on vacation. That looks great! What sky framework did you use? It looks a little bit like Simul trueSky... We used a slightly modified osgEphemeris, along with a simple cloud plane (a plane with circular blending around the edges, with a good cloud texture, is simple but works well enough for most ground-based simulators). J-S -- __ Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com http://www.cm-labs.com/ http://whitestar02.dyndns-web.com/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OSG-based excavator simulator
Hi Paul, Hi J-S -- It looks great. But I do have a couple questions. No problem, I'll answer as best I can. :-) How flexible is your art pipeline / rendering process for loading arbitrary models? Could you replace that excavator with some arbitrary CAD machinery, such as a tractor, and get the same visual fidelity? Or is there quite a bit of per-model hands-on modeling time in the art pipeline to create the necessary specular and normal maps, dirt, scuff marks, etc? I'm surprised you're asking me this type of question... An artist is really needed in order to get any good looking models, IMHO. Doing too much procedurally just becomes incredibly complex and gives so-so results most of the time, but you end up handling lots of corner cases and skirting around visual artifacts. You also mention CAD models, which are another pet peeve of mine. CAD is just not made for real-time use, you get lots of geometry where you need very little and vice versa. A human modeler who knows about making models for real-time can really make good use of textures when possible and put polygons where needed. In our case, we have an in-house modeler who makes models especially for real-time use. When we need a new vehicle for a simulator, he will typically start gathering as many reference photos as possible and then make the model. He'll then figure out what sections will most benefit from having normal and specular maps (where there's not much fine detail, they're not needed, and a simpler shader can be used). Also, how are you doing the transparency (e.g., the excavator cab windows)? Is that simple RenderBin back-to-front rendering, or are you using an order-independent technique? If the latter, how are you implementing it? Simple render bin technique. The windows are two polygons with opposing normals (with backface culling enabled so they don't fight with each other, only one will be visible from any angle). All the windows are in separate geometry objects so they sort correctly (which is bad for draw time, I know, but used sparingly it's ok). And the windows on the inside have a different shader than the ones on the outside, so they have a double-sided mirror kind of effect (look darker from outside than from inside the cab). Are the trees in the background simple billboards, or truly 3D so that the viewpoint can be placed inside them? No, just billboards, and in fact we had to choose our shots carefully to make the video so we didn't see any sorting artifacts 'cause I didn't want to take the time to separate them all :-) Is the atmospheric scattering simple OpenGL fog, or something more complex? It's nothing as sophisticated as atmospheric scattering - we called it atmospheric dust. :-) It's just large particle billboards, with a few classic smoke rendering techniques: - depth buffer test to avoid artifacts where a billboard gets clipped by opaque scene geometry (lower the alpha where the billboard is close to the ground - search the nvidia samples for a paper on that) - the billboards rotate slowly to make the dust seem like it's billowing - they also fade in and out for the same reason. All three things are done in the vertex / fragment shaders. I didn't notice any screen-space post-rendering effects (such as depth of field), is that correct? If I'm wrong, what screen-space effects are you doing, and did you encounter any difficulties with generalizing them into your rendering system? We didn't do depth of field, but HDR is a screen-space post-rendering effect. It gives a nice light bloom. We used osgPPU to do it, and osgPPU comes with an HDR example, which we modified slightly so that the light adaptation effect was less pronounced. In retrospect, the way osgPPU does its post-rendering effects limits us in other things we want to do with our pipeline, so we'll probably do the HDR ourselves sometime in the near future (or try to find ways to work around the limitations). But it was a great way to get the effect going quickly. I'm always looking for more general ways to make stuff like this work, so I'm just trying to figure out how much of this demo was general-purpose, and how much was non-general, suitable only for demos. Because of the time constraints, we did a lot of quick-and-dirty coding. In the weeks after the demo was done and shown to the client, we did a lot of clean up work, and we still have some left to do (for me, mostly the osgPPU limitations I mentioned above). But since we did the demo, everyone in the company wants to use similar effects in their projects (clients always want the best-looking simulator they can get, at least when taking the purchasing decision - after that it becomes less important) so I'm making sure what we did is as general as it can be. J-S -- __ Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com
Re: [osg-users] Nvidia OpenGL driver error message?
Hi, I discovered same problem in our application which is not build on the OSG engine. I found this error occurs sometimes when application is running out (or using too much) memory or memory is too fragmented or possibly GPU is running near its memory). In my case faulty function is glBufferDataARB (GL_ARRAY_BUFFER_ARB, bufSize, bufPtr, GL_STATIC_DRAW_ARB) when bufSize is around 450MB (more memory means that realloc fails earlier so function is not called, less memory causes no problem). This function usually returns error GL_OUT_OF_MEMORY, but sometimes driver kills the application instead. It's possible that more functions are affected (FrameBuffers, RenderBuffers, etc.), but this error is hard to reproduce. I tried to report this behavior to nvidia customer care. Pavel -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38864#38864 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Supporting multiple frame rates
Overlay buffer comes to mind given the selection and clearing control. But, if I remember right, they are limited to color index mode. Newer hardware of the day may allow RGB mode. We did this type of multiplexing with Performer years ago, but with different windows. We rendered the scene at a full 60 Hz and alternated HUD insets at 30hz. Much easier than trying to do it on the same canvas. Bob Buckley Principal Software Engineer Raytheon -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Brad Huber Sent: Thursday, April 28, 2011 9:40 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] Supporting multiple frame rates Hello, We currently have an OSG based application which renders at 30-60+ fps on our development hardware with discrete gpus. Unfortunately we have to be able to deploy on a wide range of hardware including stuff that is significantly less capable (Intel GPUs, etc). On some of these slower platforms we are seeing framerates that are 10-15 fps. This is actually ok for us with one exception, live video. We show live video in the scene graph (for now strictly in the HUD). We have a requirement to make the video render at native speed (~30 fps). I am looking for a way to make the HUD/video render at 30 fps and let the rest of the scene graph render at a floating rate (whatever the machine can handle). How might this be accomplished? Since this is a HUD, obviously it must ultimately render to the same graphics context, however it doesn't really need to respect the depth buffer, etc of the rest of the scene (it should always render on top). PS Should I be thinking about render to texture? Related threads I came across: http://forum.openscenegraph.org/viewtopic.php?t=7858 http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2008-January/006000.html http://forum.openscenegraph.org/viewtopic.php?t=7117 Thanks -Brad ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] how to convert float to osgText::String
sprintf Gordon Tomlinson Product Technology Manager 3d Technology System Engineering Consultant Overwatch® An Operating Unit of Textron Systems Office: 703-437-7651 x 2415 Fax: 703-437-0039 __ WARNING: Documents that can be viewed, printed or retrieved from this E-Mail may contain technical data whose export is restricted by the Arms Export Control Act (Title 22, U.S.C., Sec 2751, et seq,) or the Export Administration Act of 1979, as amended, Title 50, U.S.C., App. 2401 et seq. and which may not be exported, released or disclosed to non-U.S. persons (i.e. persons who are not U.S. citizens or lawful permanent residents [green card holders]) inside or outside the United States, without first obtaining an export license. Violations of these export laws are subject to severe civil, criminal and administrative penalties. From: osg-users-boun...@lists.openscenegraph.org on behalf of Nan WANG Sent: Thu 4/28/2011 1:27 PM To: osg-users@lists.openscenegraph.org Subject: [osg-users] how to convert float to osgText::String Hi, I have a simple question How to convert a float number to osgText::String in order to display with osgText::Text::setText function? ... Thank you! Cheers, Nan -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38855#38855 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org winmail.dat___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Supporting multiple frame rates
Ok Thanks. This gives an idea of how to pursue a couple of different options. I'll post back with any results. Thanks -Brad -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: Thursday, April 28, 2011 12:27 PM To: OpenSceneGraph Users Subject: Re: [osg-users] Supporting multiple frame rates Hi Brad, I also thought about the two context route but didn't suggest it as I'm doubtful that the graphics driver/card will be able to interleave the rendering on the two threads in way that doesn't have one thread stalling the other as they contend for resources on the graphics card. Using a pbuffer to render the 3d scene and the main graphics window doing the compositing would be the easier option to implement though, so I'd suggest trying it out, you'd need to use two viewers to decouple the frames, at least then you'd know whether it's good enough a solution or not. Robert. On Thu, Apr 28, 2011 at 5:52 PM, Brad Huber br...@procerus.com wrote: Robert, Farshid, Thanks for the ideas. Given what you've said, would it make more sense to pursue using two contexts? Perhaps the main scene would render to an invisible off screen context and then the visible context would copy the frame buffer from the invisible context and render the video frames on top of that. I imagine there would be some difficulty in having additional threading complexity to deal with. -Brad -Original Message- From: osg-users-boun...@lists.openscenegraph.org [mailto:osg-users-boun...@lists.openscenegraph.org] On Behalf Of Robert Osfield Sent: Thursday, April 28, 2011 9:59 AM To: OpenSceneGraph Users Subject: Re: [osg-users] Supporting multiple frame rates Hi Brad, I'm afraid decoupling the rendering of two parts of graphics window so that they can run at their own frame rate won't be a straight forward task, and well off the standard viewer path used by the vast majority of the community. You are infact the first I recall wanting to do exactly this combination of video at 30fps and man scene at it's own frame rate. Thoughts off the top of my head: You only need to do something special when 3D scene takes longer than 30ms and would cause frame rate to drop below the min 30fps, so the follow suggestions are for when frame rate would drop below 30. Could you render the video to the front buffer and just overlay the background 3D scene? This would enable you to remove the need for a swap buffers call at the end of the render of teh video texture. Another approach would be to render the 3D scene into a texture and then compose each frame from the 3D scene texture and the video texture and do the swap buffers at video texture frame rate. In both cases you the 3D scene is taking too long to render, and since you are using a single graphics context there isn't a natural way to split up and decouple the rendering completely, so to be able to put out frames at 30fps you'll need to break the render of the 3D scene into segments each of which can fit into with the time available when rendering at 30fps. Splitting the scene won't be trivial, the easist method would be something like depth partitioning, and render different partition in depth and balance the depth range for each so that the load is as well balanced as you can get it. That's my best suggestions so far... Far from trivial to set up, very much on the bleeding edge! Robert. On Thu, Apr 28, 2011 at 4:39 PM, Brad Huber br...@procerus.com wrote: Hello, We currently have an OSG based application which renders at 30-60+ fps on our development hardware with discrete gpus. Unfortunately we have to be able to deploy on a wide range of hardware including stuff that is significantly less capable (Intel GPUs, etc). On some of these slower platforms we are seeing framerates that are 10-15 fps. This is actually ok for us with one exception, live video. We show live video in the scene graph (for now strictly in the HUD). We have a requirement to make the video render at native speed (~30 fps). I am looking for a way to make the HUD/video render at 30 fps and let the rest of the scene graph render at a floating rate (whatever the machine can handle). How might this be accomplished? Since this is a HUD, obviously it must ultimately render to the same graphics context, however it doesnt really need to respect the depth buffer, etc of the rest of the scene (it should always render on top). PS Should I be thinking about render to texture? Related threads I came across: http://forum.openscenegraph.org/viewtopic.php?t=7858 http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.or g /2008-January/006000.html http://forum.openscenegraph.org/viewtopic.php?t=7117 Thanks -Brad
Re: [osg-users] Supporting multiple frame rates
On 4/28/2011 9:39 AM, Brad Huber wrote: We currently have an OSG based application which renders at 30-60+ fps on our development hardware with discrete gpus. Unfortunately we have to be able to deploy on a wide range of hardware including stuff that is significantly less capable (Intel GPUs, etc). On some of these slower platforms we are seeing framerates that are 10-15 fps. This is actually ok for us with one exception, live video. We show live video in the scene graph (for now strictly in the HUD). We have a requirement to make the video render at native speed (~30 fps). I am looking for a way to make the HUD/video render at 30 fps and let the rest of the scene graph render at a floating rate (whatever the machine can handle). How might this be accomplished? Since this is a HUD, obviously it must ultimately render to the same graphics context, however it doesn’t really need to respect the depth buffer, etc of the rest of the scene (it should always render on top). PS Should I be thinking about render to texture? I would. This is a long shot, but what if you rendered the 3D scene to a texture using double alternating texture buffers. While the 3D scene is rendering to the buffer, the HUD can render the previous frame with the video on top of it to the actual screen. When the next video frame is ready, if the next 3D scene hasn't finished rendering, just re-use the previous frame's texture. When the 3D scene does finish rendering, set a flag to indicate it should now be used by the HUD, and begin rendering the NEXT 3D frame. Share resources (a la wglShareLists) so that there isn't a copy overhead transferring the rendered texture around. I've never tried it, but I think it could work, as long as your hardware can deal with rendering a quick HUD in the midst of rendering the complex 3d background scene. -- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com http://www.alphapixel.com/ Digital Imaging. OpenGL. Scene Graphs. GIS. GPS. Training. Consulting. Contracting. 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] OSG-based excavator simulator
Hi J-S, hi Paul, On 29/04/11 5:15 , Jean-Sébastien Guay wrote: How flexible is your art pipeline / rendering process for loading arbitrary models? Could you replace that excavator with some arbitrary ... I'm surprised you're asking me this type of question... An artist is really needed in order to get any good looking models, IMHO. Doing too much procedurally just becomes incredibly complex and gives so-so results most of the time, but you end up handling lots of corner cases and skirting around visual artifacts. ... In our case, we have an in-house modeler who makes models especially for real-time use. When we need a new vehicle for a simulator, he will typically start gathering as many reference photos as possible and then make the model. He'll then figure out what sections will most benefit from having normal and specular maps (where there's not much fine detail, they're not needed, and a simpler shader can be used). Maybe what Paul was asking about (and what I always like to learn from other people's setups) is: are the different textures (normals/specular maps) and shader assignments all set up when you get them from your modeller? Or do you have to do additional tweaking from within your program? Cheers, /uli ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] OSG-based excavator simulator
Hi Ulrich, Maybe what Paul was asking about (and what I always like to learn from other people's setups) is: are the different textures (normals/specular maps) and shader assignments all set up when you get them from your modeller? Or do you have to do additional tweaking from within your program? We currently don't use a 3D file format that allows for specifying normal maps and other types. Actually it does, but OSG doesn't read it so we'd need to do lots of work to extract the information anyways. So no, we have our artists make models with diffuse textures, and make normal and specular maps and whatever else we want to make separately. We have config files that make the link between the nodes in the graph of the loaded 3D model, additional textures to load (the diffuse texture is already loaded as part of the original model) and shaders to apply. Most of the time a normal map / specular map is linked to a diffuse map (you'll have a diffuse map called stone_wall.jpg and a normal map called stone_wall_normal.jpg and both will use the same texture coordinates) so we also have a mode to do the association that way instead of explicitly by node name - we search through statesets to find the diffuse texture and do the association then. This is very flexible, but unfortunately not artist-friendly, which I'll be working on improving soon. Our pipeline currently involves both artists and programmers to get those nice advanced effects (only ten years old or so in real time use ;-) ). Given that shader effects are not standardized in OSG I think it would be hard to have it another way for now. OSG would really need to have its own shaders for all these effects, as well as an official tool or plugin to save the data in the right format out of the 3D content creation tool. Or specify that if you want these effects you need to use formats that support them, which I think for now is Collada and FBX only? Valve mdl too? They're not many anyways. So essentially, if that were the case, OSG would be dictating how you use shaders in your app, and what your content creation pipeline is. I don't think that's OSG's place - at least not currently. An OSG-based engine can do that (which is basically what we're making for our simulators), but not OSG itself. It's good that we get to do these demos as they give us ideas on what to improve in our process instead of just doing the same old thing over and over... J-S -- __ Jean-Sebastien Guayjean-sebastien.g...@cm-labs.com http://www.cm-labs.com/ http://whitestar02.dyndns-web.com/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org