Re: [osg-users] An entity that could build OSG?
Thank you for your response. I am using Windows 10 64 bit home edition. I am using the TDM Windows 64 bit c++ compiler. I have installed 64 bit Windows cmake, on my path. I find that when I type cmake . I am told the following, about a file that cmake does not possess: What should be done in face of this particular issue? -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=76476#76476 Attachments: http://forum.openscenegraph.org//files/error1_110.png ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Android: Survive Context Loss without complete reinitialization
Hi, You can't release objects that belong to a destroyed context, so you definitely need to call all the releaseGLObjects methods before the context is destroyed. You shouldn't need to call it on the root node provided the root node is still attached to the viewer when the viewer and context are destroyed, as the normal viewer does this for you. You need to give the state associated with the context that's being destroyed if you just want to clear GL objects for that context. If you're fine deleting things from every context (e.g. because you've only got one context or destroy them all at once) you can just pass a null pointer, and it'll do it for all contexts. flushAllDeletedGLObjects gets called automatically unless you're using a weird viewer (which is possible given that you're using Android, but I'd guess it isn't happening). If I were in your situation, if you're loading fonts from files, I'd try calling releaseGLObjects on the object cache (osgDB::Registry::instance()->getObjectCache()->releaseGLObjects();) right before the context is closed, and if you're letting OSG use its default font, I'd do the default font instead (osgText::Font::getDefaultFont()->releaseGLObjects();). If either of these helps, then the problem is what I think it is. I've not looked at the Android examples, so I don't know where you'd put the call, though. Cheers, Chris -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=76475#76475 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Android: Survive Context Loss without complete reinitialization
Dear Robert, what is the correct order of the calls I have to made? : a) Context detroyed b) call releaseGLObjects. This required a state argument. Which state do I have to put in here? Is it sufficient to call this on the root node of my scene graph? c) what about osg::flushAllDeletedGLObjects? Is this called automatically? Or do I have to call releaseGlObjects BEFORE the context is destroyed? Sorry for asking these probably stupid questions. What would be a more standard way of doing things (on android)? Is a context loss so exotic? Regarding VSG: I'd really love playing around with Vulkan. Unfortunately, two things are making me to stick to OpenGL: 1) Vulkan requires Android 8. Therefore, many phones would not be supported. 2) Not enough time to get into Vulkan at the moment :( I actually don't need much features, so VSG might be nice in future: - Geometry creation from own tesselations - Edge/Line rendering - Picking / Intersections - Custom Shaders - Text Nodes Martin ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [ANN] Job Opportunity: Research Engineer - Visualization and Driving Simulation
The submission e-mail address was apparently cut from the previous message. If you want to apply for the above position via e-mail, send your application including cv and other documentation you see as relevant to: vti(at)vti.se -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=76473#76473 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Android: Survive Context Loss without complete reinitialization
Hi, This is almost certainly due to one of the issues I've outlined here: http://forum.openscenegraph.org/viewtopic.php?p=76471#76471 The standard viewer definitely doesn't clean everything up that it's supposed to, as demonstrated by the examples I gave in that thread. Specifically, this example shows that the static default font isn't released: http://forum.openscenegraph.org/viewtopic.php?p=76365#76365, and this example shows that loaded fonts living in the object cache aren't released: http://forum.openscenegraph.org/viewtopic.php?p=76345#76345. You'll need to run these examples through an OpenGL debugger like CodeXL that tells you when things aren't released. Cheers, Chris -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=76472#76472 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Removing objects with shared GL state from scene graph
Hi, Now Robert seems to be back from his break, I'm just going to mention the potential footguns I found here in case they need sorting out. I've got a reasonable solution for the issue I was having, so that doesn't really need discussing any more, but it seems sensible to me that OSG might want to avoid letting people get into such a situation in the first place. When a context is destroyed, the object cache can still have things in it that need releasing. It might be a good idea to automatically release things in the object cache when a context is destroyed. Even in the single-view case, it's not best practice to rely on the GPU driver to clean up everything when a context is closed, so this might be helpful for anything that loads stuff from files. If a composite viewer has a cleanup operation, it's only called when the composite viewer is destroyed, and not when associated contexts are destroyed. This should maybe be changed so that it happens when a view is removed, too, or maybe it should be possible to set a cleanup operation on the context objects themselves. The static default font doesn't get released when a context is destroyed. I don't know everything about OSG, so maybe there's a list of static OSG objects that it should be added to, or maybe having static OSG objects is just a bad idea. Cheers, Chris -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=76471#76471 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Removing objects with shared GL state from scene graph
Hi, Now Robert seems to be back from his break, I'm just going to mention the potential footguns I found here in case they need sorting out. I've got a reasonable solution for the issue I was having, so that doesn't really need discussing any more, but it seems sensible to me that OSG might want to avoid letting people get into such a situation in the first place. When a context is destroyed, the object cache can still have things in it that need releasing. It might be a good idea to automatically release things in the object cache when a context is destroyed. Even in the single-view case, it's not best practice to rely on the GPU driver to clean up everything when a context is closed, so this might be helpful for anything that loads stuff from files. If a composite viewer has a cleanup operation, it's only called when the composite viewer is destroyed, and not when associated contexts are destroyed. This should maybe be changed so that it happens when a view is removed, too, or maybe it should be possible to set a cleanup operation on the context objects themselves. The static default font doesn't get released when a context is destroyed. I don't know everything about OSG, so maybe there's a list of static OSG objects that it should be added to, or maybe having static OSG objects is just a bad idea. Cheers, Chris -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=76470#76470 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] I'm writing a Siggraph BOF presentation, what do you want to know?
Hi All, I'm currently writing a presentation to be use at this year's OpenScenGraph Bird of a Feather session. It'll be written from the perspective of what I've been focused on in the last year - so maintenance of the OSG and development of the VSG. Do you have any specific topics you'd like me to cover? Be aware I only have scope for high level stuff, especially as I'll not be in their in person to deliver it. Potentially I could have a bash at recording a video with me giving the presentation, though will need to have a think what is possible/sensible. Cheers, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] [forum] My intro and need help for making graph
Hi Eliza, Welcome :-) On Tue, 23 Jul 2019 at 14:28, Eliza Marshal < designer.absolutedigitiz...@gmail.com> wrote: > Eliza here. A new member of the forum. I need some help for making a > graph. THis is my intro post. I am a graphic designer. Hope to enjoy my > stay here. > The OpenSceneGraph is middle-ware software that software engineers use when writing graphics applications, so I a little concerned that it might not be the most appropriate tool for you. You don't say specifically what you are trying to achieve so can't say whether it's appropriate or not, could you explain what type of project(s) you want to tackle? Cheers, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] long waiting time between cull and draw
Hi Tom, >From the on screen stats it looks like the GPU work is holding back the draw dispatch of the next frame, the last camera's draw GPU looking like the most obvious culprit. It could be the FIFO is filling and then blocking, or it could be that there is sync in place that is holding back the next frame. Given you are getting stuttering then my guess is that as things stand the GPU throughout is something to work on. I don't know anything about your hardware, database and rendering requirements so I can't suggest any specific remedy. Could you provide some more info. For instance adding scene stats to the screenshot would help. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Android: Survive Context Loss without complete reinitialization
Hi Martin, The osg::Node's have releaseGLObjects() that help disconnect the GLObjects from the scene graph, these get put in several backend containers for the GLObjects, that get cleaned up by a call to osg::flushAllDeletedGLObjects. The standard viewer should be doing all this for you, but in your case you'll be using a non standard route thanks to the constraints of Android windowing. I'm not the author of the the Android windowing example so can't comment on the specifics. I guess there is chance there is an error at the viewer level somewhere. As general comment, the VSG project is probably a better fit for Android than the OSG, thanks to both the Vulkan and the lightweight design/implementation of the VSG. Under Vulkan you create most graphics objects tied to the Vulkan Instance, when a window is resized or closed/opened you have to recreate the window related objects, but other objects can be shared. This recreation of objects happens for all platforms so it's not a Android special issue like it is for OpenGL, so it's more likely we'll be able to spot issues and debug them prior to a port to Android. The VSG still early it's life though, so feature wise it's a long way behind the OSG right now. It's still a moving target too, but if you don't need a wide range of OSG features then you might be able to get by with the VSG. Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] [forum] My intro and need help for making graph
Hi, Eliza here. A new member of the forum. I need some help for making a graph. THis is my intro post. I am a graphic designer. Hope to enjoy my stay here. Thank you! Cheers, Eliza -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=76367#76367 ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
[osg-users] long waiting time between cull and draw
Hi, We are experiencing that our application can get into a state where stuttering occurs (unable to sustain 60hz). We observe a large period of waiting between the cull and the draw calls, which seems weird. See attached pic. Sometimes one or more of the draw call are drawn further to the left ie. after 3ms. But there is always this big void where it looks like nothing is going on. Anybody have a hint on how to debug this ? ... Thank you! Cheers, Tomas -- Read this topic online here: http://forum.openscenegraph.org/viewtopic.php?p=76364#76364 Attachments: http://forum.openscenegraph.org//files/waiting_535.jpg ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] Android: Survive Context Loss without complete reinitialization
Dear Robert, I am now on master. The problems still exist. > Those shaders are related to the shader pipeline that is only part of master, > they don't exist in 3.6. You are right. Lets forget the inbuilt shaders. The problems occur also with my own shaders. The only place I use the inbuilt ones are for text nodes. Those also existed in rc3. > Or are you using osgUtil::ShaderGen? No. > What hardware/software Android platform are you testing with? I am testing it in the android emulator that comes with the Android SDK. Additionally I also have a One Plus 3 around, which show the same problems. Is there any way I can help you setting up an Android Dev environment? I am thinking of a virtual machine that I could create for testing. Or step by step instructions, how to build OSG and the example. But maybe lets not focus too much on android. It seems, that similar issues also occurred with qt, when a gl context was recreated. My question is, how to properly notify to OSG, that all shaders + uniforms are invalid such that it recompiles them. Actually, OSG already recompiles the shader after creating a new embedded window and therefore increasing the context id. Maybe the old shader objects are not disposed properly and are still attached to the stateset (just guessing). Unfortunately, I don't know OSG much that I can find out, what is actually going wrong. Martin Am Di., 23. Juli 2019 um 11:03 Uhr schrieb Robert Osfield : > > Hi Martin, > > On Mon, 22 Jul 2019 at 19:33, Martin Siggel > wrote: > > I am using OSG 3.6.4-rc3. > > That's from back in January so it would be worth updating to 3.6.4-rc8. > > I've done a diff between rc3 and rc8 and overall there are quite a few fixes, > I couldn't see a change that would affect things for you with osgText. > > > The only built-in shaders I am using right now are the osgText shaders: > https://github.com/openscenegraph/OpenSceneGraph/tree/master/src/osgText/shaders > > These are automatically bound, when no other shaders are added to a text node. > > > When I don't add shaders to a geometry node, other built-in shaders seem to > > get active as well. I guess these are the ones from > > https://github.com/openscenegraph/OpenSceneGraph/tree/master/src/osg/shaders. > > Those shaders are related to the shader pipeline that is only part of master, > they don't exist in 3.6. If you are aren't creating your own shaders do they > come with your data? Or are you using osgUtil::ShaderGen? > > > When I e.g. use osgText, the text will appear after starting the > > application. When I go to the android main screen and then go back to the > > app, the text nodes will become black rectangles. Somehow, osg seems to > > reference still the "old" objects from the context before. > > > Still, from the log I can verify, that shaders are compiled again after > > resuming to the app. > > What hardware/software Android platform are you testing with? > > > I could provide a "minimal" example if anyone is interested. > > I don't personally have a Android dev environment setup, so I can't test. I > was hoping that other Android users would chip in here, unfortunately the > forum has been a bit unreliable of late so perhaps this is contributing. > > Cheers, > 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] Android: Survive Context Loss without complete reinitialization
Hi Martin, On Mon, 22 Jul 2019 at 19:33, Martin Siggel wrote: > I am using OSG 3.6.4-rc3. That's from back in January so it would be worth updating to 3.6.4-rc8. I've done a diff between rc3 and rc8 and overall there are quite a few fixes, I couldn't see a change that would affect things for you with osgText. > The only built-in shaders I am using right now are the osgText shaders: https://github.com/openscenegraph/OpenSceneGraph/tree/master/src/osgText/shaders These are automatically bound, when no other shaders are added to a text node. > When I don't add shaders to a geometry node, other built-in shaders seem to get active as well. I guess these are the ones from https://github.com/openscenegraph/OpenSceneGraph/tree/master/src/osg/shaders . Those shaders are related to the shader pipeline that is only part of master, they don't exist in 3.6. If you are aren't creating your own shaders do they come with your data? Or are you using osgUtil::ShaderGen? > When I e.g. use osgText, the text will appear after starting the application. When I go to the android main screen and then go back to the app, the text nodes will become black rectangles. Somehow, osg seems to reference still the "old" objects from the context before. > Still, from the log I can verify, that shaders are compiled again after resuming to the app. What hardware/software Android platform are you testing with? > I could provide a "minimal" example if anyone is interested. I don't personally have a Android dev environment setup, so I can't test. I was hoping that other Android users would chip in here, unfortunately the forum has been a bit unreliable of late so perhaps this is contributing. Cheers, Robert. ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
Re: [osg-users] An entity that could build OSG?
Hi ? I don't know any contractors using WIndows with the TDM compilers so can't provide any suggestions on who might be able to help you. Looking only TDM looks just to be GNU tool chain for Mingw, in which case it should be able to just build the OSG from the command line following unix style usage i.e. > cd OpenSceneGraph > cmake . > make -j 4 > make install There are lots of options controllable via cmake, for cmake it's best just to learn it, it's now the defacto standard build generator used in open source projects so the time you invest in learning it will benefit your work far beyond the OSG. Robert. On Tue, 23 Jul 2019 at 06:19, A Z wrote: > Is it possible for someone on this forum that can point > me in the direction of an entity, pay or otherwise, > that can build the latest stable version of OSG for me? > > I am not using Microsoft Visual Studio, but am using > the GNU TDM C++ 64 bit compiler. Because of this, > I can't use the offered build MSVC from Objexx Engineering. > For the TDM, the bit profile for the .lib or .a files have > to be different. > > I am also discovering that the CMAKE build system > is plain too much for me. > > Is there someone here in the know, with an addressing > response for me kindly? > ___ > 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