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

Reply via email to