Re: [osg-users] Please test OSG-2.8 in prep for 2.8.0-rc2
When do you anticipate a final release fo OSG-2.8? Ed Robert Osfield wrote: Hi All, Are we good to go on OSG-2.8-rc2? 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
[osg-users] [osgPlugins] Plugin to read ACAD 7.2 Facet File ?
I need to read a file which is based on a subset of the ACAD 7.2 Facet File format. Has anyone written a plugin to do so? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Forum users rare uses signatures, which is a pain tracking who's who
I won't use a forum mainly because of the spam generated when I have used forums in the past... I know there are probably things in place now to prevent or reduce email harvesting from forums, but all the same, I won't use forums anymore... not so long as there an alternative. As for cryptic names, I don't see the problem... does every user have to be identified? Ed Art Tevs wrote: rosme wrote: Would it be an idea if mail2forum generates an HTML e-mail similar to a forum response? -- Roland It wouldn't be a big problem, however I am not sure if people, who are like to use mailing list only, would be happy about that. I think that even some part of the community use pine or other text based mail clients ;) However this still would not solve the problem of cryptic names and same default senders email adress. art -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=8545#8545 ___ 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] Forum users rare uses signatures, which is a pain tracking who's who
I won't use a forum mainly because of the spam generated when I have used forums in the past... I know there are probably things in place now to prevent or reduce email harvesting from forums, but all the same, I won't use forums anymore... not so long as there an alternative. As for cryptic names, I don't see the problem... does every user have to be identified? Ed Art Tevs wrote: rosme wrote: Would it be an idea if mail2forum generates an HTML e-mail similar to a forum response? -- Roland It wouldn't be a big problem, however I am not sure if people, who are like to use mailing list only, would be happy about that. I think that even some part of the community use pine or other text based mail clients ;) However this still would not solve the problem of cryptic names and same default senders email adress. art -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=8545#8545 ___ 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] osgconv bug with obj format
I noticed a possible issue as well. I used osgconv to convert a FLT terrain to obj. osgviewer reads it in and renders it fine, but some modeling tools I use won't read it and report an error reading the file. Unfortunately, that is all that is reported: an error. Nothing more specific than an error ocurred reading the file type of thing. Ed Ben Axelrod wrote: I am trying to use osgconv to convert a number of .wrl files to .obj format. But the resulting .obj file does not look right at all in osgviewer. (See box.png). Also attached, the original input file box.wrl, and the resulting output files box.obj and box.mtl. I am using OSG version 2.6.0 and openVRML 0.14.3 on Debian Etch. The original .wrl file renders fine with osgviewer. Other .obj files created with Blender render fine with osgviewer. If I convert the .wrl to .osg format, the .osg file renders fine with osgviewer. But if I then try to convert the .osg to .obj, the .obj renders bad again. So this leads me to believe the problem is with the .obj writer in osgconv. I tried running the conversion with –O noTesselateLargePolygons –O noTriStripPolygons with no difference. Anyone know if there are some options I am missing to fix this? Or if it has been fixed in the latest version? Thanks, -Ben ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Viewer vs. Composite Viewer
After reading osgViewer::Viewer vs osgViewer::CompositeViewer, I think I might need to use CompositeViewer at some point in the future of my project, but not at the outset. Should I begin with the CompositeViewer, or make the necessary mods later? How difficult is it to change from Viewer to CompositeViewer later? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] If I want to use wxWidgets with OSG, do I need a particular version of wxWidgets?
If I want to use wxWidgets with OSG, do I need a particular version of wxWidgets? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] controlling swap
After reading osgViewer::Viewer vs osgViewer::CompositeViewer, I think I might need to use CompositeViewer at some point in the future of my project, but not at the outset. Should I begin with the CompositeViewer, or make the necessary mods later? How difficult is it to change from Viewer to CompositeViewer later? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] controlling swap
I think the discussion you refer to was initiated by my question then too. I am not sure how this question ended up in this email... I was copying and pasting and something went wrong, but the subject line indicates what the topic was meant to be. I have resubmitted the correct question. Ed Robert Osfield wrote: Hi Ed, I wrote about this exact topic a couple of weeks back, so go have look through the archives on this discussion. The short story is that I moving between the two is not difficult, and I'd start with the easier of the two viewers's - osgViewer::Viewer but learn a bit about CompisteViewer too so you know roughly what you might need to change later. Robert. On Mon, Nov 10, 2008 at 3:34 AM, Ed [EMAIL PROTECTED] wrote: After reading osgViewer::Viewer vs osgViewer::CompositeViewer, I think I might need to use CompositeViewer at some point in the future of my project, but not at the outset. Should I begin with the CompositeViewer, or make the necessary mods later? How difficult is it to change from Viewer to CompositeViewer later? Ed ___ 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
[osg-users] Controlling swap (Not the question about View vs. Composite View)
In the Viewer examples I have seen, it appears that the rendering is initiated by calling viewer.run(). In my code I am implementing hardware based synchronization amonst multiple renderers and I need to control the render or draw, as well as the swap. How do I get this control? Do I use draw traversals? Are there examples of this? Also under what situations would I want to use cull and update traversals? Examples of these? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Controlling swap (Not the question about View vs. Composite View)
Are there examples for doing these techniques? Ed Robert Osfield wrote: You can add your own sync code if you want into camera initial/pre,post and final callbacks, and no matter what threading model these will be called. You can also add Rendering operations into the GraphicsContext's operations list, or override the osgViewer::Renderer which does the actual cull and draw traversals. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] reusing VBOs
I am working on porting my raw/native/whatever-you-want-to-call-it OpenGL application to OSG. In my application, if I load multiple objects of the same type, I reuse the VBO created for the original object. Is this something I can do in OSG? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] post draw callback
I am trying to add a post draw callback to my view. I think I must be missing something as far as how to do this is concerned. I borrowed the MyCameraPostDrawCallback class from the osgprerender example and tried to add the callback as follows: m_pViewer-getCamera()-setPostDrawCallback(new MyCameraPostDrawCallback()); Right now all I am trying to accomplish is to get the callback made but that doesn't happen so I must have omitted something. Can someone provide some direction? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] Performance expectations
As noted in past posts, I am working on porting my native GL app to OSG... But before I get to far down this path, I thought it would be a good idea to ask some questions concerning performance. I have noticed in past postings that OSG can handle thousands of objects, millions of polys and still hold a solid 60Hz on a modern machine. My requirement is to be able to render in excess of 1000 Hz. I have achieved more than double this with somewhat simple scenes in my current app. Am I expecting too much from OSG? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Performance expectations
Ok. That's a fair enough answer. I assumed that if I, with my mediocre skills, could get the results I did, then OSG should be able to beat it, or at least match it. Also, there is much more I need to do on my app, and it will be difficult without using something like OSG. Ed Jean-Sébastien Guay wrote: Hi Ed, Am I expecting too much from OSG? Without knowing more about what exactly you wish to render at more than 1000Hz, it's hard to give a definitive answer. I will just say that if it's possible in raw OpenGL, it's possible with OSG. Depending on your scene, you should even get higher performance in OSG in most cases because of the things a modern, well-designed and high-performance scene graph brings to the table. So I'd say try it and see. Oh, and post some results here when you're done! :-) J-S ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Performance expectations
I can only say that I am writing an app that will interface with a system that requires a frame rate in excess of 1000Hz. Not trying to be difficult, I just can't give any more details for various reasons. Ed Robert Osfield wrote: Hi Ed, Could you explain why you need 1000 Hz? I don't know of any display systems that work this fast, 120 Hz is typically the high end in refresh rates of monitors/projectors. Robert. On Thu, Nov 13, 2008 at 4:50 PM, Ed [EMAIL PROTECTED] wrote: As noted in past posts, I am working on porting my native GL app to OSG... But before I get to far down this path, I thought it would be a good idea to ask some questions concerning performance. I have noticed in past postings that OSG can handle thousands of objects, millions of polys and still hold a solid 60Hz on a modern machine. My requirement is to be able to render in excess of 1000 Hz. I have achieved more than double this with somewhat simple scenes in my current app. Am I expecting too much from OSG? Ed ___ 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] Performance expectations
Hard real-time is a requirement. Ed Argentieri, John-P63223 wrote: Are you working for those cyborgs with their faster-than-human robot eyes again? Trying to turn GPU's into incendiary agents? But seriously, if it doesn't have to be rendered in real-time, you can use libavcodec to write OSG output to a movie. I'm not sure exactly what frame rates it supports, but you might be able to record a movie at low Hz and play it back much much faster. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Robert Osfield Sent: Thursday, November 13, 2008 12:23 PM To: OpenSceneGraph Users Subject: Re: [osg-users] Performance expectations Hi Ed, Could you explain why you need 1000 Hz? I don't know of any display systems that work this fast, 120 Hz is typically the high end in refresh rates of monitors/projectors. Robert. On Thu, Nov 13, 2008 at 4:50 PM, Ed [EMAIL PROTECTED] wrote: As noted in past posts, I am working on porting my native GL app to OSG... But before I get to far down this path, I thought it would be a good idea to ask some questions concerning performance. I have noticed in past postings that OSG can handle thousands of objects, millions of polys and still hold a solid 60Hz on a modern machine. My requirement is to be able to render in excess of 1000 Hz. I have achieved more than double this with somewhat simple scenes in my current app. Am I expecting too much from OSG? Ed ___ 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.or g ___ 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] Performance expectations
Oh good... a brother in misery hardware is a big factor in our work as well. Ed Mike Weiblen wrote: Just as another general datapoint, and not OSG-specific, we also have requirements for rendering framerates in excess of 10's of kilohertz. Likewise, I cant discuss details, other than we do throw a lot of hardware in that direction. -- mew ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Performance expectations
It appears that I may have given some mis-information or false impressions regarding my question about high frame rates with OSG. To summarize and clarify: I am not asking for help on how to achieve the very high frame rates, although, I appreciate that people have seemed to offer help, should I be able to divulge more information. I just need help on pieces of the puzzle. For example, I need to add a callback to my viewer, or where-ever it is appropriate, that will be called between the final render of the entire scene graph but before the call to swap the buffers is made. I can't seem to get that working quite right, actually, it isn't working for me at all. My realtime requirement is a hard realtime requirement indeed. Our user is a piece of hardware which is controlling the render timing. We are using a real-time linux kernel and I am aware that OpenGL drivers are not available, as least not that I know of, for use with our realtime kernel. Ed Jan Ciger wrote: Hi Ed, I can only say that I am writing an app that will interface with a system that requires a frame rate in excess of 1000Hz. Not trying to be difficult, I just can't give any more details for various reasons. Ed If you are using OpenGL for rendering, why do you need to *render* at 1000fps? You user will not see a difference whether you are rendering 100 or 1000fps, but your GPU will thank you for reducing the load. That doesn't preclude your app to be able to talk to the external device needing the high refresh rate - just decouple the rendering and the hard- realtime parts. This is what is done for driving robots or haptics. The only exceptions could be devices that actually require that high framerate to be output (some kind of volumetric display or holographic system?). However, unless you are willing or able to divulge more details, it is impossible to help you. Furthermore, maybe you should also clarify whether you have a really hard realtime situation meaning an OS and hardware that enforces a hard, unbreakable latency constraint on all processes (some embedded/process control HW does this, something like QNX comes to mind) or just trying to deal with a high framerate device. Those are very different issues - I am not aware of a hard realtime OS having OpenGL drivers. Such driver would have to be capable to handle interruption/preemption at the kernel level and the regular Nvidia/ATI stuff certainly does not do that. Regards, Jan ___ 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] Performance expectations
Not haptic. Ed Jason Daly wrote: Jan Ciger wrote: Guys, just out of sheer curiosity - what kind of HW is needed to generate such framerates? If you cannot talk about specifics, at least a ballpark idea would be cool to know. Sounds like a haptic device to me. Realistic haptics require force computations (and hence, collision detection) to be done at 1000 Hz or so. --J ___ 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] Performance expectations
Jan, Do you mean what kind of GPU is need to generate these framerates? Or what kind of HW is requiring that we produce these frame rates? Ed Jan Ciger wrote: Oh good... a brother in misery hardware is a big factor in our work as well. Ed Mike Weiblen wrote: Just as another general datapoint, and not OSG-specific, we also have requirements for rendering framerates in excess of 10's of kilohertz. Likewise, I cant discuss details, other than we do throw a lot of hardware in that direction. -- mew Guys, just out of sheer curiosity - what kind of HW is needed to generate such framerates? If you cannot talk about specifics, at least a ballpark idea would be cool to know. Regards, Jan ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Performance expectations
Busted. ;) Ed Jeremy Moles wrote: On Thu, 2008-11-13 at 14:42 -0600, Ed wrote: Not haptic. Ed Well, I personally think you're building a virtual super intelligence singularity, and I would like to be the first to say woot, Linux. :) Jason Daly wrote: Jan Ciger wrote: Guys, just out of sheer curiosity - what kind of HW is needed to generate such framerates? If you cannot talk about specifics, at least a ballpark idea would be cool to know. Sounds like a haptic device to me. Realistic haptics require force computations (and hence, collision detection) to be done at 1000 Hz or so. --J ___ 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 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Performance expectations
J-S, I have just read the thread you started on overriding swapBuffersImplementation() and the last post I saw was written 38 weeks, 5 days, 8 hours and 55 minutes ago (Thanks gmane), at which time, it appeared that you had not completely and satisfactorily completed the task. At that time, you were, I bleieve, still seeing a black screen even though MyGraphicsWindowWin32 ::swapBuffersImplementation() was being called. Did you get this working to your sastisfaction? What were the associated gotchas? Ed Jean-Sébastien Guay wrote: Hi Ed, Thanks for clarifying, your situation is interesting even though you can't divulge too much (we always like to know the cool new ways OSG is being used!) For example, I need to add a callback to my viewer, or where-ever it is appropriate, that will be called between the final render of the entire scene graph but before the call to swap the buffers is made. I can't seem to get that working quite right, actually, it isn't working for me at all. The way I did that was to subclass GraphicWindowWin32 and override the virtual void swapBuffersImplementation(); method, doing whatever I needed to do before calling the parent class's version. It works well enough for my needs, though you might have other constraints. In your case of course you'll probably subclass from GraphicsWindowX11, or even straight from osgViewer::GraphicsWindow if you want to get really low-level. :-) I'm sure there are other ways to do this though, and perhaps cleaner ones too (which I'll be happy to learn about if someone points them out in this thread). Hope this helps, J-S ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] You have three guess...
On the left is a screenshot of the OSG website. On the right is a screenshot of the OpenGL website. Both appear to be texture mapped to a quad, which are tilted back a bit from vertical. the background is blue...well blue-ish, somewhat purple. Sorry...that's the best I can do until I finish my first cup of coffee... :) Seriously, I don't know, and I don't keep up to much with what's going on in the OSG development circles, but I must say, I am curious. Ed Robert Osfield wrote: For a bit of fun see if you can explain the attached screenshot... If if you get that right your next challange is explain exactly how I went about writing this email... 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] You have three guess...
I may sound ignorant by asking this, but it won't be the first time, so... What are the uses of this capability? Ed Robert Osfield wrote: Wow, didn't long for guess that were right on the money ;-) The screenshot was from me running a new OSG example checked in svn/trunk, the command line was: osgbrower openscenegraph.org opengl.org And as guessed the actual email I sent it from was : osgbrowser gmail.com The osgbrower code is based on UBrowser/llmozlib2 which is a gecko based embedded renderer that uses xul-runner 1.8.x. I've opted for a less efficient browser but using an unmodified version of xul-runner, there is a more efficient version of llmozlib2 but this requires modifications of xul-runner. The example right now only works under Linux, but with a few improvements to CMakeLists.txt and the source it should also work under Windows and OSX. My attempt earlier today to get the html rendering done in a background thread failed, so the currently version very crudely updates renders imagery in the main thread, and also re-renders on every frame as there is no mechanism for lazily updating without modifying xul-runner. The fact that the rendering happens in main thread is severly gating performance, so I'm typically seeing around 10fps, which is fine for an interactive browser but not in any way acceptable for a 3D graphics application. So my next task is get the rendering down in a background thread, but it might require a bit of contortion as gecko and llmozlib are not not thread safe, so I'll have to do all calls to it from a single thread, there are also a few oddities like xul-runner under Linux being dependant on a dummy gtk window and events that you must create to get xul-runner working. Basically it's a bit hacky... 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
[osg-users] use of Vec2dArray
I am trying to use osg::Vec2dArray as follows... osg::ref_ptrosg::Vec2dArray v2da = new osg::Vec2dArray; v2da-push_back( osg::Vec2d(1.0, 2.0) ); v2da-push_back( osg::Vec2d(3.0, 4.0) ); v2da-push_back( osg::Vec2d(5.0, 6.0) ); which I think is correct, but I am not clear as to how to get my data back out I tried this: numElements = v2da-getNumElements(); for(int nElement = 0; nElement numElements; nElement++) { osg::Vec2d dataPoint = v2da-getDataPointer()[nElement]; } but get a compile error. Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] use of Vec2dArray
Fixed the compile problem numElements = v2da-getNumElements(); for(int nElement = 0; nElement numElements; nElement++) { osg::Vec2d dataPoint = (*v2da-getDataPointer())[nElement]; } But the osg::Vec2d dataPoint = (*v2da-getDataPointer())[nElement]; causes and exception What is the correct way to retrieve my data from Vec2dArray? Ed Ed wrote: I am trying to use osg::Vec2dArray as follows... osg::ref_ptrosg::Vec2dArray v2da = new osg::Vec2dArray; v2da-push_back( osg::Vec2d(1.0, 2.0) ); v2da-push_back( osg::Vec2d(3.0, 4.0) ); v2da-push_back( osg::Vec2d(5.0, 6.0) ); which I think is correct, but I am not clear as to how to get my data back out I tried this: numElements = v2da-getNumElements(); for(int nElement = 0; nElement numElements; nElement++) { osg::Vec2d dataPoint = v2da-getDataPointer()[nElement]; } but get a compile error. Ed ___ 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] If I have a Vec3f, and I want to rotate it, do I use osg::Matrixf::rotate?
probably a dumb question...but... If I have a Vec3f, and I want to rotate it, do I use osg::Matrixf::rotate? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] 2Dimensional array
I need to create a 2Dimensional array of Vec3f. I could do this the ol' osg::Vec3f **myArray way, but wasn't sure if that is the way it should be done, as opposed to osg::ref_ptr, etc. The I thought, maybe there is already a class for 2Dimensional arrays...but I didn't find one. Is there such a class? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] 2Dimensional array
So I could do something like this (in pseudocode)? std::vector osg::ref_ptrosg::Vec3Array myData; osg::Vec3f currentDataPoint; Outerloop...{ osg::ref_ptrosg::Vec3Array currentDataArray; Innerloop { currentDataPoint.set(...); currentDataArray-push_back(currentDataPoint); } myData.push_back(currentDataArray); } Ed christophe loustaunau wrote: Hi Ed, Maybe you could use std::vectorosg::Vec3Array myArray . Regards. On Thu, Nov 20, 2008 at 7:46 PM, Ed [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] wrote: I need to create a 2Dimensional array of Vec3f. I could do this the ol' osg::Vec3f **myArray way, but wasn't sure if that is the way it should be done, as opposed to osg::ref_ptr, etc. The I thought, maybe there is already a class for 2Dimensional arrays...but I didn't find one. Is there such a class? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org mailto:osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org -- Christophe Loustaunau. ___ 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] GPU Feedback
Does OSG provide in mechanism for retrieving any metrics from the GPU? Seems like I read a few months ago on the nvidia dev site that certain drivers allowed for the retrieval of GPU performance metrics, but I can't find that information now. Anyone know what I am referring to? Or if I am hallucinating? Ed ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] GPU Feedback
Evidently I didn't look hard enough... I found what I was looking for: The NVPerfKit counters. http://developer.nvidia.com/object/nvperfkit_counters.html. Do the stats you refer to come from these counters or this type of feedback mechanism? i.e. low level counters inside the hardware and driver? Ed Tomlinson, Gordon wrote: Run osgviewer with you favorite models and cycle through the stats options ( the 's' key ) you will see some GPU stats 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 Ed Sent: Wednesday, April 15, 2009 11:02 AM To: osg-users@lists.openscenegraph.org Subject: [osg-users] GPU Feedback Does OSG provide in mechanism for retrieving any metrics from the GPU? Seems like I read a few months ago on the nvidia dev site that certain drivers allowed for the retrieval of GPU performance metrics, but I can't find that information now. Anyone know what I am referring to? Or if I am hallucinating? Ed ___ 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 mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] [osgPlugins] Can't get OSG to load an OpenFlight file.
Hi, Sorry if this is long winded but I wanted to make sure the description of my problem is as clear/thorough as possible. My project uses CMake and is intended to work in both Windows 7 32 bit and Ubuntu 10.04 64 bit. Right now the goal of the project is to simply render an OpenFlight file using OSG 2.8.3. My first step was to build OSG 2.8.3 in both Linux and Windows and that seemed to go off without a hitch. I put the resulting executables, libraries, and headers into my projects Third Party folder which looks something like this... ThirdParty Windows.x86.vc.9 OpenSceneGraph-2.8.3 bin include OpenThreads osg osgAnimation ... osgWidget lib osgPlugins-2.8.3 Linux.x86_64.gcc4.4 OpenSceneGraph-2.8.3 bin include OpenThreads osg osgAnimation ... osgWidget lib osgPlugins-2.8.3 Here is a snippet from my .cmake file which is responsible for telling CMake where to find OSG... Code: if (MSVC) math (EXPR TARGET_COMPILER_MAJOR ${MSVC_VERSION} / 100 - 6) set (TARGET_PLATFORM ${CMAKE_SYSTEM_NAME}.${CMAKE_SYSTEM_PROCESSOR}.vc.${TARGET_COMPILER_MAJOR}) elseif (CMAKE_COMPILER_IS_GNUCXX) set (TARGET_PLATFORM ${CMAKE_SYSTEM_NAME}.${CMAKE_SYSTEM_PROCESSOR}.gcc) endif () set (THIRD_PARTY_DIR ${CMAKE_SOURCE_DIR}/ThirdParty/${TARGET_PLATFORM}) set(OSG_DIR ${THIRD_PARTY_DIR}/OpenSceneGraph-2.8.3) set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH};${OSG_DIR}/include) set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH};${OSG_DIR}/lib) find_package(OpenSceneGraph REQUIRED osgDB osgFX osgGA osgShadow osgSim osgText osgUtil osgViewer osgWidget) Here is a dumbed down version of the CMakeLists.txt my project is using to link against OSG... Code: project (MyProject) QT4_WRAP_CPP(QT_MOC_FILES ClassA.h ClassB.h) set(HEADERS ClassA.h ClassB.h) set(SOURCES ClassA.cpp ClassB.cpp main.cpp) set (DEPENDENCIES ${OPENSCENEGRAPH_LIBRARIES} ${QT_LIBRARIES}) include_directories (${OSG_INCLUDE_DIR} ${QT_INCLUDE_DIR}) add_executable (${PROJECT_NAME} ${HEADERS} ${SOURCES} ${QT_MOC_FILES}) target_link_libraries(${PROJECT_NAME} ${DEPENDENCIES}) Here is my code which is trying to use OSG to load the OpenFlight file... Code: mNode = osgDB::readNodeFile(MyOpenFlightFile.flt); In Windows this works perfectly, no problem at all. In Linux the OpenFlight file is not rendered, when the readNodeFile method is called the following output is generated... Code: Warning: Could not find plugin to read objects from file MyOpenFlightFile.flt. The first thing I did was verify that the OpenFlight plugin does in fact exist and it was located at ThirdParty/Linux.x86_64.gcc4.4/OpenSceneGraph-2.8.3/lib/osgPlugins-2.8.3/osgdb_openflight.so At this point I assumed that my system simply didn't know where to look so I added the following paths to LD_LIBRARY_PATH... Code: /work/MyProject/ThirdParty/Linux.x86_64.gcc4.4/OpenSceneGraph-2.8.3/lib/:/work/MyProject/ThirdParty/Linux.x86_64.gcc4.4/OpenSceneGraph-2.8.3/lib/osgPlugins-2.8.3 Now when I my code calls the osgDB::readNodeFile I crash with a Segmentation fault (core dumped). So now I'm just left frustrated because I can't figure out whats going wrong. Anybody know what I might be doing wrong? ... Thank you! Cheers, Ed[/quote] -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=37867#37867 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [osgPlugins] Can't get OSG to load an OpenFlight file.
Paul Martz wrote: If you export OSG_NOTIFY_LEVEL=DEBUG_FP, OSG will display the paths it is searching in its attempt to locate the OpenFlight plugin. -Paul Thanks for that trick, it is quite useful. Earlier in the day I was cursing the fact that I didn't know how to see what directories OSG was looking in to find the plugins. I went ahead and exported OSG_NOTIFY_LEVEL and ran my application in the two ways that I described in my original post. Previously when I would run my application without modifying LD_LIBRARY_PATH, the OpenFlight would NOT be rendered, OSG would print a message about not being able to find the plugin, and my application was gracefully allowed to continue running. Now that I've exported OSG_NOTIFY_LEVEL I get the same behavior and I'm able to see that OSG is looking for the plugin in several directories which don't contain the plugin... Code: Warning: Could not find plugin to read objects from file MyOpenFlightFile.flt. RegisterWindowingSystemInterfaceProxy() X11WindowingSystemInterface() GraphicsContext::setWindowingSystemInterface() 0x21e84400x7f27af96ea50 Adding parent0x21cce20 Adding parent0x21cce20 Adding parent0x21cce20 Adding parent0x21cce20 Adding parent0x21cce20 Adding parent0x21cce20 CullSettings::readEnvironmentalVariables() Adding parent0x21cce20 Adding parent0x21cce20 DatabasePager::addDatabaseThread() HANDLE_NON_HTTP DatabasePager::addDatabaseThread() HANDLE_ONLY_HTTP Render::Render() 0x23e6d10 CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() Adding parent0x21cce20 CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() Adding parent0x21cce20 Adding parent0x21cce20 ShaderComposer::ShaderComposer() 0x23e88a0 CullSettings::readEnvironmentalVariables() Adding parent0x21cce20 Adding parent0x21cce20 Adding parent0x21cce20 Adding parent0x21cce20 ShaderComposer::ShaderComposer() 0x23ea830 Adding parent0x21cce20 Adding parent0x21cce20 Adding parent0x21cce20 _availableQueue.size()=2 GraphicsContext::registerGraphicsContext 0x243eb70 ShaderComposer::ShaderComposer() 0x243d7a0 GraphicsContext::createNewContextID() creating contextID=0 Updating the MaxNumberOfGraphicsContexts to 1 Adding parent0x21cce20 itr='/share/users/elafave/SWR/lib/so' FindFileInPath() : trying /share/users/elafave/SWR/lib/so/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/share/users/elafave/SWR/lib/so/linux/x86_64' FindFileInPath() : trying /share/users/elafave/SWR/lib/so/linux/x86_64/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/bin/gcc-4.1/lib' FindFileInPath() : trying /usr/bin/gcc-4.1/lib/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/share/users/elafave/jdk1.6.0_22/bin' FindFileInPath() : trying /share/users/elafave/jdk1.6.0_22/bin/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/X11R6/lib' FindFileInPath() : trying /usr/X11R6/lib/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9' FindFileInPath() : trying /work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/lib/' FindFileInPath() : trying /usr/lib/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/lib64/' FindFileInPath() : trying /usr/lib64/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/local/lib/' FindFileInPath() : trying /usr/local/lib/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/local/lib64/' FindFileInPath() : trying /usr/local/lib64/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/share/users/elafave/SWR/lib/so' FindFileInPath() : trying /share/users/elafave/SWR/lib/so/osgdb_openflight.so ... itr='/share/users/elafave/SWR/lib/so/linux/x86_64' FindFileInPath() : trying /share/users/elafave/SWR/lib/so/linux/x86_64/osgdb_openflight.so ... itr='/usr/bin/gcc-4.1/lib' FindFileInPath() : trying /usr/bin/gcc-4.1/lib/osgdb_openflight.so ... itr='/share/users/elafave/jdk1.6.0_22/bin' FindFileInPath() : trying /share/users/elafave/jdk1.6.0_22/bin/osgdb_openflight.so ... itr='/usr/X11R6/lib' FindFileInPath() : trying /usr/X11R6/lib/osgdb_openflight.so ... itr='/work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9' FindFileInPath() : trying /work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/lib/' FindFileInPath() : trying /usr/lib/osgdb_openflight.so ... itr='/usr/lib64/' FindFileInPath() : trying /usr/lib64/osgdb_openflight.so ... itr='/usr/local/lib/' FindFileInPath() : trying /usr/local/lib/osgdb_openflight.so ... itr='/usr/local/lib64/' FindFileInPath() : trying /usr/local/lib64/osgdb_openflight.so ... Warning: dynamic library 'osgPlugins-2.9.9/osgdb_openflight.so' does not exist (or isn't readable): osgPlugins-2.9.9/osgdb_openflight.so: cannot open shared object file: No such file or directory DynamicLibrary::failed loading osgPlugins-2.9.9/osgdb_openflight.so Previously when I would run my application after adding the OSG lib path to LD_LIBRARY_PATH my application would crash thanks
Re: [osg-users] [osgPlugins] Can't get OSG to load an OpenFlight file.
Paul Martz wrote: I believe you have a version problem on your hand. Do you have multiple versions of OSG on your system? It is true that I've tried multiple versions of OSG. I began by building 2.8.3 from source myself. After getting these errors I decided to try 2.9.9 which was built by a friend and seems to work for him. I mistakenly posted the output from when I was using OSG 2.9.9 despite saying I was using OSG 2.8.3, sorry about that. I try to make sure to never mix OSG versions. When I decide to use 2.9.9 I make sure to move OSG 2.8.3 to another directory, update my CMake to link against 2.9.9, completely rebuild my baseline, and make sure LD_LIBRARY_PATH only points to the 2.9.9 lib directory. To ensure that I'm not mixing versions I went through those steps to ensure I'm using 2.9.9. When I ran my application before adding the OSG 2.9.9 lib directory to LD_LIBRARY_PATH I got the following output... Code: Warning: Could not find plugin to read objects from file MyOpenFlightFile.flt. RegisterWindowingSystemInterfaceProxy() X11WindowingSystemInterface() GraphicsContext::setWindowingSystemInterface() 0x184d2f00x7fa8aa532a50 Adding parent0x1831e20 Adding parent0x1831e20 Adding parent0x1831e20 Adding parent0x1831e20 Adding parent0x1831e20 Adding parent0x1831e20 CullSettings::readEnvironmentalVariables() Adding parent0x1831e20 Adding parent0x1831e20 DatabasePager::addDatabaseThread() HANDLE_NON_HTTP DatabasePager::addDatabaseThread() HANDLE_ONLY_HTTP Render::Render() 0x1a46680 CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() Adding parent0x1831e20 CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() Adding parent0x1831e20 Adding parent0x1831e20 ShaderComposer::ShaderComposer() 0x1a48210 CullSettings::readEnvironmentalVariables() Adding parent0x1831e20 Adding parent0x1831e20 Adding parent0x1831e20 Adding parent0x1831e20 ShaderComposer::ShaderComposer() 0x1a4a1a0 Adding parent0x1831e20 Adding parent0x1831e20 Adding parent0x1831e20 _availableQueue.size()=2 GraphicsContext::registerGraphicsContext 0x1a9e500 ShaderComposer::ShaderComposer() 0x1a9d100 GraphicsContext::createNewContextID() creating contextID=0 Updating the MaxNumberOfGraphicsContexts to 1 Adding parent0x1831e20 itr='/work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9' FindFileInPath() : trying /work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/lib/' FindFileInPath() : trying /usr/lib/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/lib64/' FindFileInPath() : trying /usr/lib64/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/local/lib/' FindFileInPath() : trying /usr/local/lib/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/local/lib64/' FindFileInPath() : trying /usr/local/lib64/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9' FindFileInPath() : trying /work/tools/OpenSceneGraph-2.9.9/lib64/osgPlugins-2.9.9/osgdb_openflight.so ... itr='/usr/lib/' FindFileInPath() : trying /usr/lib/osgdb_openflight.so ... itr='/usr/lib64/' FindFileInPath() : trying /usr/lib64/osgdb_openflight.so ... itr='/usr/local/lib/' FindFileInPath() : trying /usr/local/lib/osgdb_openflight.so ... itr='/usr/local/lib64/' FindFileInPath() : trying /usr/local/lib64/osgdb_openflight.so ... Warning: dynamic library 'osgPlugins-2.9.9/osgdb_openflight.so' does not exist (or isn't readable): osgPlugins-2.9.9/osgdb_openflight.so: cannot open shared object file: No such file or directory DynamicLibrary::failed loading osgPlugins-2.9.9/osgdb_openflight.so Once I added the OSG 2.9.9 lib directory to LD_LIBRARY_PATH I got the following output when I ran my application... Code: RegisterWindowingSystemInterfaceProxy() X11WindowingSystemInterface() GraphicsContext::setWindowingSystemInterface() 0x1a283700x7fddc763aa50 Adding parent0x1a0ce20 Adding parent0x1a0ce20 Adding parent0x1a0ce20 Adding parent0x1a0ce20 Adding parent0x1a0ce20 Adding parent0x1a0ce20 CullSettings::readEnvironmentalVariables() Adding parent0x1a0ce20 Adding parent0x1a0ce20 DatabasePager::addDatabaseThread() HANDLE_NON_HTTP DatabasePager::addDatabaseThread() HANDLE_ONLY_HTTP Render::Render() 0x1c217f0 CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() Adding parent0x1a0ce20 CullSettings::readEnvironmentalVariables() CullSettings::readEnvironmentalVariables() Adding parent0x1a0ce20 Adding parent0x1a0ce20 ShaderComposer::ShaderComposer() 0x1c23380 CullSettings::readEnvironmentalVariables() Adding parent0x1a0ce20 Adding parent0x1a0ce20 Adding parent0x1a0ce20 Adding parent0x1a0ce20 ShaderComposer::ShaderComposer() 0x1c25310 Adding parent0x1a0ce20 Adding parent0x1a0ce20 Adding parent0x1a0ce20 _availableQueue.size()=2 GraphicsContext::registerGraphicsContext 0x1c79670 ShaderComposer::ShaderComposer() 0x1c78270 GraphicsContext::createNewContextID() creating
Re: [osg-users] [osgPlugins] Can't get OSG to load an OpenFlight file.
robertosfield wrote: I believe few users have as many problems with getting models to load under unix as you have... I suspect you are trying to make things more complicated than they really should be, seemingly trying you best to break the OSG, rather than just let it gone with what it's designed to do. Well that came across a little harsh. I have no doubt that my troubles stem from me doing something incorrectly due to my ignorance (extremely little experience with OSG). So we both agree the problem is my fault, hopefully together we can find the cause? I didn't think my setup was overly complicated and I thought I was staying out of OSG's way. These are the steps I went through to get where I am now... 1.) Downloaded the OSG 2.8.3 source code. 2.) Used the CMake GUI to generate a make file for OSG. 3.) Ran make to build the OSG libraries and executables. 4.) Copied the OSG libraries, headers, and executables into a pretty standard ThirdParty directory in my project (that directory's structure was described in my first post). 5.) In my projects CMake I specify where that OSG ThirdParty directory is and I specify that my project depends on OSG (the CMake statements that do this were also in my first post). 6.) Used CMake to generate a make file for my project. 7.) Built my project without error using make. 8.) Ran my application and OSG said it couldn't find the FLT plugin. 9.) Tried adding OSG's lib directory to LD_LIBRARY_PATH but that just caused my application to crash. I view those steps as being pretty standard and simplistic but clearly I'm doing something wrong. hopefully something sticks out as being obviously incorrect. robertosfield wrote: We can only guess what this might be as you explanation of what you have done doesn't provide enough useful information. I tried my best to explain everything I thought was relevant. Perhaps I am omitting something because I don't believe it to be useful. If you could tell me what type of information would make it easier for you to figure out where I'm going wrong then I'd be more than happy to give you that information. I'm more than happy to go into extreme detail...I'd even provide you with a simplified version of my codebase if that would help. robertosfield wrote: If Paul is correct and you are getting a crash because you've linked your application to OSG-2.8.3 and then at runtime forcing the loading of the osgPlugins-2.9.9/osdb_openflight.so I was very hopeful that was the case but it just doesn't seem to be. I just built my application against OSG 2.9.9 and my LD_LIBRARY_PATH pointed to OSG 2.9.9's lib directory and I still crash. It appears as though this is not the cause of my problem. robertosfield wrote: All you should have to do is set the LD_LIBRARY_PATH to path to the libraries, and let the OSG at runtime append the osgPlugins-version so that it can find the appropriate plugin. That is what I think I'm doing. I'm setting LD_LIBRARY_PATH to point to /work/MyApplication/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.9.9/lib/ Of course inside OpenSceneGraph-2.9.9/lib there is an osgPlugins-2.9.9 directory which contains the OpenFlight plugin. I can only assume that OSG is looking in that directory. robertosfield wrote: Now if you aren't finding the plugins if you use this approach then it suggests that you have placed the osgPlugins-version directory into the library directory as it should be. OSG only says it can't find the plugin when I do NOT set LD_LIBRARY_PATH. When I do set LD_LIBRARY_PATH my application simply crashes, OSG doesn't tell me if it found the plugin or not. Again my osgPlugins directory is in /work/MyApplication/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.9.9/lib/osgPlugins-2.9.9 and I'm setting LD_LIBRARY_PATH to be /work/MyApplication/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.9.9/lib robertosfield wrote: Now the OSG does have a proper install script and if you use it will place all the libraries and plugins in all the correct directories, perhaps you've bypassed this completely and are copying stuff around by hand and screwing things up. As I said we can only guess. It is my understanding that make install copies the OSG files from the build into system level directories (perhaps it can be configured to copy those files anywhere). I have not run make install, only make. I'm hoping to keep OSG on a level that is local to my project (as opposed to a system level). I'd like to take my project's source code and third party dependencies and check them into SVN. Then a developer can checkout that repository to a local directory and build it without having to make any system level changes...everything is kept local to that checkout folder. I have to assume that OSG can function if it isn't placed wherever make install places it but since I'm copying stuff around by hand I'll run make install and try to make sure that I'm
Re: [osg-users] [osgPlugins] Can't get OSG to load an OpenFlight file.
robertosfield wrote: Now the OSG does have a proper install script and if you use it will place all the libraries and plugins in all the correct directories I still haven't solved this problem but I am perhaps a step closer so in the interest of keeping this thread up to date I'll fill you in. I've switched back to OSG 2.8.3 and as robertosfield suggested I used the install script to have OSG automatically put the headers/binaries into the directory my application expects them to be (instead of doing this by hand). Perhaps there are countless differences between what I was doing by hand and what the install script did but the biggest difference I noticed was that the script created a lib64 folder instead of the lib directory that I was creating by hand. After running the install script I rebuilt my application. I began by running my application without setting LD_LIBRARY_PATH. Surprisingly this results in a segmentation fault (previously OSG would just say it couldn't find the plugin) and the output that is generated seems to indicate that OSG was at least able to find the OpenFlight plugin... Code: itr='/work/MyProject/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.8.3/lib64/osgPlugins-2.8.3' FindFileInPath() : trying /work/MyProject/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.8.3/lib64/osgPlugins-2.8.3/osgPlugins-2.8.3/osgdb_openflight.so ... itr='/usr/lib/' FindFileInPath() : trying /usr/lib/osgPlugins-2.8.3/osgdb_openflight.so ... itr='/usr/lib64/' FindFileInPath() : trying /usr/lib64/osgPlugins-2.8.3/osgdb_openflight.so ... itr='/usr/local/lib/' FindFileInPath() : trying /usr/local/lib/osgPlugins-2.8.3/osgdb_openflight.so ... itr='/usr/local/lib64/' FindFileInPath() : trying /usr/local/lib64/osgPlugins-2.8.3/osgdb_openflight.so ... itr='/work/MyProject/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.8.3/lib64/osgPlugins-2.8.3' FindFileInPath() : trying /work/MyProject/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.8.3/lib64/osgPlugins-2.8.3/osgdb_openflight.so ... FindFileInPath() : USING /work/MyProject/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.8.3/lib64/osgPlugins-2.8.3/osgdb_openflight.so Segmentation fault Given that OSG was able to find the plugin without me having to set LD_LIBRARY_PATH, I fully expected the same behavior if I did set LD_LIBRARY_PATH. So just to be thorough I set LD_LIBRARY_PATH to be /work/MyProject/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.8.3/lib64 and when I ran my application I got the exact same behavior as I did when LD_LIBRARY_PATH wasn't set. So now it appears as though I do not have to set LD_LIBRARY_PATH but I still have to figure out why OSG crashes once it says it is using the plugin. Of course it is completely possible that the cause of this crash is my application and not OSG...I will have to verify that next. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38034#38034 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [osgPlugins] Can't get OSG to load an OpenFlight file.
Paul Martz wrote: You should be able to see in your Notify output, it's clear that OSG isn't including your OSG bin directory in its search path. If I recall from your OP, that path is something like: ThirdParty/Linux.x86_64.gcc4.4/OpenSceneGraph-2.8.3/bin If this directory is not in your PATH, then it's odd that *any* OSG executables even run, such as osgversion. You should add it, of course, as you would add any package's binary directory to your PATH. (This is *nix 101, and not specific to OSG.) You are correct OSG's bin directory is not on my PATH but that was by intention (perhaps incorrectly so). On the Windows side I make sure my application knows where the OSG bin is because thats where the OSG dll files are. However, on the Linux side I believe the OSG bin directory only contains executables and therefore I didn't think my application would care about the bin. Just to be sure though I added the OSG bin to my PATH and my application still crashes with a segmentation fault just as it did in my last post. Interestingly enough if use the following commands Code: export LD_LIBRARY_PATH=/work/MyProject/ThirdParty/Linux.x86_64.gcc/OpenSceneGraph-2.8.3/lib64/ ./osgviewer /some/path/MyOpenFlightFile.flt then I'm able to use OSG to successfully render MyOpenFlight file. Yet I get a segmentation fault when my application links to the OSG libraries and tries to programmatically load that same OpenFlight file. -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38036#38036 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [osgPlugins] Can't get OSG to load an OpenFlight file.
Paul Martz and robertosfield, thanks for your help. In addition to OSG my application has another third party dependency, for the sake of anonymity lets just call it PAIN_IN_THE_REAR. As the name implies PAIN_IN_THE_REAR is absolutely awful and has been a reliable source of head aches for several years now. Normally I would begin debugging any mysterious crash with an eye towards PAIN_IN_THE_REAR. However, in this case I gave PAIN_IN_THE_REAR a free pass because I had only setup the dependency on PAIN_IN_THE_REAR...I hadn't yet written any code that actually used PAIN_IN_THE_REAR. Well it turns out that just removing the dependency on PAIN_IN_THE_REAR fixed all of the problems I thought I was having with OSG. Unfortunately, I will need OSG and PAIN_IN_THE_REAR to play nice together so I will have to continue debugging this. Obviously I'm expecting my problem to be caused solely by PAIN_IN_THE_REAR but if my debugging turns up anything that might be relevant to the OSG community then I'll be sure to follow up with a post explaining what I learned.[/img] -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=38051#38051 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] DatabaseCacheReadCallback trouble, crashes when maxNumFilesToCache is too large
Hi, I've got a pretty large terrain database in the OpenFlight format. I've written an algorithm that samples the elevation at various/lots of points throughout the entire database. To accomplish this I'm wrapping a LineSegmentIntersector inside an IntersectionVisitor. This first iteration of the algorithm took forever seemingly because each height query would page in one of the OpenFlight tiles, perform the height query, and discard that data. So the next height query would have to page in the same data again. To address this issue I started giving the IntersectionVisitor a reference to my DatabaseCacheReadCallback. This second iteration of my algorithm sped up performance dramatically. However, if I set the maximum number of files to cache to too high a number it will crash OSG. Presumably, because I'm running out of memory before the cache is full. Any suggestions on how to handle this? It would be nice if I could set a memory size on the cache file as opposed to the number of files. It would be nice if I could somehow tell OSG to gracefully handle this error. I'm sure the API address this issue and I'm just missing it, any suggestions? Here is a code sample of what I'm doing... Code: osg::Vec3d lineStart(xyPoint.x(), xyPoint.y(), -100); osg::Vec3d lineEnd(xyPoint.x(), xyPoint.y(), 100); osg::ref_ptrosgUtil::LineSegmentIntersector lineSegmentIntersector = new osgUtil::LineSegmentIntersector(lineStart, lineEnd); osg::ref_ptrosgUtil::IntersectionVisitor intersectionVisitor = new osgUtil::IntersectionVisitor(lineSegmentIntersector, mDatabaseCacheReadCallback); mRootNode-accept(*(intersectionVisitor.get())); osgUtil::LineSegmentIntersector::Intersections intersections = lineSegmentIntersector-getIntersections(); if(intersections.size() 0) { const osg::Vec3d intersectionPoint = intersections.begin()-getLocalIntersectPoint(); } Thank you! Cheers, Ed[/code] -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=45223#45223 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] animate 3d model by changing sub-nodes positions
Hi all, I'm trying to animate a 3d model without predefined animations to be specific, I downloaded a 3d model (called Female from bonyface) and converted it to FBX I'm getting from an external source some face dots location. I'd like to move the female model's corresponding dots accordingly. using a 3d model editor software, I can see the names of the female's dots names (which can be moved when created pre-defined animations). using NodeVisitor I retrieved a list of nodes with the same names. however, they appear to be MatrixTransform I have no idea how to change the positions of them. Can you please assist? give a direction and possibly even some example code? Thank you very much! EsMo -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=60231#60231 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] animate 3d model by changing sub-nodes positions
Hi, Thanks! I actually figured it out eventually when I waited my post in the forum to get approved. But I encountered more problems which are now described in a different post. manipulate a 3d face model through code (not pre-defined animation) http://forum.openscenegraph.org/viewtopic.php?t=14049 Mods: This thread can be closed. thanks -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=60260#60260 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] ref_ptr issue
Hi, I think I also encountered this or a similar problem after the main program was trying to exit eventually I ended up with a shutdown method containing the following Code: if(!viewer-done()) { viewer-setDone(true); } // avoid circular references viewer-getCamera()-setFinalDrawCallback(NULL); if (!offScreen) { osgViewer::View::EventHandlers eventHandlers = viewer-getEventHandlers(); eventHandlers.clear(); } osgViewer::ViewerBase::Windows wins; viewer-getWindows(wins); for(int i=wins.size()-1; i=0; i--) { wins.at(i)-close(); } Not sure it's the right way but some/all of it may solve out the error try using it in renderManager's destructor Good luck -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=60261#60261 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org