No, may be the problem is not there yet, unless I miss something. Never mind the following, I've been able to make it appear.
> I've tried to call viewer->frame() when I know that the scene has been modified, but nothing appears now in the viewer. However the problem is still the same, even when I call viewer->frame() after having removed/added drawables from the geode. The new drawables don't appear in the viewer, while the old ones have properly disappeared. Fausto On Fri, Jan 22, 2010 at 10:25 AM, fausto <[email protected]> wrote: > Hi JP, > > > > Does createGeom reuse any old osg data (arrays)? > > No. > > > > where in your frame loop do you do this? > > Well, now that you tell me, I think the problem is here. I have no loop. I > thought that the rendering refresh was done automatically when a node in the > scene was modified. > Sorry for my ignorance, this might seem stupid, but since I have very few > dynamic modifications in my scene, how can I simply refresh the viewer frame > without being obliged to have a loop. > > I've tried to call viewer->frame() when I know that the scene has been > modified, but nothing appears now in the viewer. > > Cheers. > Fausto > > > > On Fri, Jan 22, 2010 at 9:44 AM, J.P. Delport <[email protected]>wrote: > >> Hi, >> >> >> fausto wrote: >> >>> Hi JP, >>> it's impossible to show exactly my code, but what I basically do with the >>> geode is: >>> >>> 1. Remove all drawables: >>> geode->removeDrawables((unsigned int)0, geode->getNumDrawables()); >>> >>> 2. Create new ones: >>> osg::ref_ptr< osg::Geometry > geom; >>> geom = createGeom(parameters); >>> .. >>> >>> 3. Add them to the geode: >>> if( geom.valid() ) geode->addDrawable( geom.get() ); >>> >> >> I don't see anything strange. Does createGeom reuse any old osg data >> (arrays)? where in your frame loop do you do this? In between rendering >> calls (frame)? What happens if you just delete the geode and add a new one? >> >> jp >> >> >>> I'm not sure the problem is there, because as I mentioned the new scene >>> is properly shown if I load it with osgViewer.exe. >>> >>> I think the problem is more with some missing settings, either to the >>> drawables/nodes, or to the viewer (the original one, which doesn't get >>> updated). I tried to set the drawables data variance to DYNAMIC, and other >>> things but nothing worked. However, as Robert said, it seems this should >>> work without any additional action. >>> >>> The strange thing is, why the old drawables are properly deleted from the >>> original viewer, but the new ones are not added? >>> I would have preferred that the viewer didn't do anything, than just 1 >>> part of the job. >>> >>> Thank you all for your prompt replies, I really appreciate it. >>> Fausto >>> >>> >>> On Fri, Jan 22, 2010 at 7:55 AM, J.P. Delport <[email protected]<mailto: >>> [email protected]>> wrote: >>> >>> Hi, >>> >>> can you give more detail on what you are adding/removing? Do you use >>> the same vertex lists, but with new drawables. Do you change >>> vertices, but keep the drawables? To get more help you'd probably >>> need to make a very small example that shows the problem... >>> >>> jp >>> >>> fausto wrote: >>> >>> Thank you both for your inputs. >>> >>> To Robert: >>> >>> Try writing the subgraph they are in out to a file then load >>> this file >>> into osgviewer to see if can view them. >>> >>> Yes, as I mentioned the new scene data is OK, I can see it while >>> debugging and after saving->loading it with osgViewer.exe all >>> new drawables appear in the scene, and previous ones are >>> removed. So, the scene is OK, the problem is really with the >>> original viewer. It renders OK, but doesn't update properly when >>> drawables are added. >>> >>> I'm rendering in Qt widgets, could that be the problem? >>> >>> To D.J. >>> >>> I might recommend refactoring the code to >>> add/remove nodes instead of drawables. >>> >>> Unfortunately, I need nodes to be the same. >>> >>> I keep searching and testing. Thanks again for your help. >>> Cheers. >>> Fausto >>> >>> >>> On Thu, Jan 21, 2010 at 6:42 PM, D.J. Caldwell >>> <[email protected] <mailto:[email protected]> >>> <mailto:[email protected] <mailto:[email protected]>>> >>> >>> wrote: >>> >>> Hi Fausto and Robert, >>> >>> If the simple modification is due to some specific user event >>> (button >>> press, file dialog, etc.), I might recommend refactoring the >>> code to >>> add/remove nodes instead of drawables. It sounds like you >>> have no >>> trouble initially getting the geometry into the scene; it is >>> the >>> simple modification that is the problem. >>> >>> What I am suggesting here is a work-around, and not a fix (on >>> my >>> system, it appears that there is no "bug" to fix). Other >>> than this, I >>> believe the issue may be familiarity with the available >>> patterns; that >>> is, using the right tool for the right job. No insult >>> intended, but >>> the only fix for that is research, time, and patience. >>> >>> The project I am part of uses visitors and/or swapping out >>> vertices >>> for time based changes, and adding/removing nodes for user >>> based >>> inputs. >>> >>> Fausto, as Robert said, you are the only one who can know what >>> is >>> appropriate for your project. >>> >>> Just some things to consider; I hope this helps... >>> >>> D.J. >>> >>> On Thu, Jan 21, 2010 at 12:12 PM, Robert Osfield >>> <[email protected] <mailto:[email protected]> >>> <mailto:[email protected] >>> <mailto:[email protected]>>> wrote: >>> > Hi Fausto, >>> > >>> > Dynamically modifying the scene graph shouldn't be that >>> hard. >>> > Removing drawables and adding news ones should perfect >>> safe and >>> > shouldn't require and extra steps from you, no need to >>> dirty bounding >>> > volumes or display lists, it should all just work. >>> > >>> > As to why your new drawables aren't appearing I can't say. >>> Try >>> > writing the subgraph they are in out to a file then load >>> this file >>> > into osgviewer to see if can view them. It could be >>> simply that >>> there >>> > is something wrong with the geometry data you've set up. >>> Only >>> you has >>> > your app and your data so you're the only one that can >>> investigate. >>> > >>> > Robert. >>> > >>> > On Thu, Jan 21, 2010 at 4:41 PM, fausto <[email protected] >>> <mailto:[email protected]> >>> <mailto:[email protected] <mailto:[email protected]>>> wrote: >>> >> Hi All, >>> >> I'm struggling to have a simple modification of an osg >>> scene >>> working. >>> >> I simply need to remove all drawables from a geode and >>> add new >>> drawables to >>> >> the same geode. >>> >> >>> >> In the viewer, the geode just disappears after removing the >>> drawables, but I >>> >> can see that the scene contains the geode with the new >>> drawables. So, it >>> >> seems a rendering problem. >>> >> >>> >> I see that many people have similar problems with dynamic >>> modifications. >>> >> I've read plenty of posts about setting display list to >>> false, using >>> >> callbacks, dirtyBound(), etc.... >>> >> >>> >> But I hope there is a clearer and easier way to achieve >>> this. >>> >> >>> >> Please let me know. >>> >> >>> >> Thanks for any help. >>> >> Fausto >>> >> >>> >> _______________________________________________ >>> >> osg-users mailing list >>> >> [email protected] >>> <mailto:[email protected]> >>> <mailto:[email protected] >>> <mailto:[email protected]>> >>> >>> >> >>> >>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>> >> >>> >> >>> > _______________________________________________ >>> > osg-users mailing list >>> > [email protected] >>> <mailto:[email protected]> >>> <mailto:[email protected] >>> <mailto:[email protected]>> >>> >>> > >>> >>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>> > >>> _______________________________________________ >>> osg-users mailing list >>> [email protected] >>> <mailto:[email protected]> >>> <mailto:[email protected] >>> <mailto:[email protected]>> >>> >>> >>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>> >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> osg-users mailing list >>> [email protected] >>> <mailto:[email protected]> >>> >>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>> >>> >>> -- This message is subject to the CSIR's copyright terms and >>> conditions, e-mail legal notice, and implemented Open Document >>> Format (ODF) standard. The full disclaimer details can be found at >>> http://www.csir.co.za/disclaimer.html. >>> >>> This message has been scanned for viruses and dangerous content by >>> MailScanner, and is believed to be clean. MailScanner thanks >>> Transtec Computers for their support. >>> >>> _______________________________________________ >>> osg-users mailing list >>> [email protected] >>> <mailto:[email protected]> >>> >>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>> >>> >>> >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> osg-users mailing list >>> [email protected] >>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >>> >> >> -- >> This message is subject to the CSIR's copyright terms and conditions, >> e-mail legal notice, and implemented Open Document Format (ODF) standard. >> The full disclaimer details can be found at >> http://www.csir.co.za/disclaimer.html. >> >> This message has been scanned for viruses and dangerous content by >> MailScanner, and is believed to be clean. MailScanner thanks Transtec >> Computers for their support. >> >> _______________________________________________ >> osg-users mailing list >> [email protected] >> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org >> > >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

