[osg-users] Animating vertices in a Geode

Laurence Muller L.Y.L.Muller at uva.nl
Tue Mar 24 05:27:46 PDT 2009


Hi Cedric,

For some reason Outlook webmail wrapped the cpp file into a binary format.

I have included a new version of the demo file with the timings fixed. 
It uses: const osg::FrameStamp* fs = nv->getFrameStamp(); and 
fs->getSimulationTime(); to calculate the current time. (Just like 
osgAmimation)

Kind Regards,
- Laurence


Cedric Pinson wrote:
> <div class="moz-text-flowed" style="font-family: -moz-fixed">Hi Laurence,
>
> I dont know what the winmail.dat in attachement is, i am not on 
> windows. I will try tomorrow your main.cpp in previous mail and with 
> the svn to be sure osgAnimation works fine with the svn.
>
> About time in callback you can read the code of some updatecallback in 
> osgAmimation. It will give you an example how to manage time.
>
> Cheers,
> Cedric
>
> Muller, L.Y.L. wrote:
>> Hi Cedric,
>>
>> hmm for some reason the post of Guy wasn't added to the right thread 
>> in the maillist ( 
>> http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2009-March/025337.html 
>> )
>> I tried out his suggestion and got something like a self-deleting 
>> callback working (Demo file is attached). I just need to figure out 
>> how to measure the time between the callback calls. For now it just 
>> increments the 'time' value with a fixed number.
>> It would ofcourse be nicer if I could use an exciting class that 
>> handles the scheduling/timeline.
>>
>>
>> About your request, I do not know how to create a stacktrace here 
>> with Visual Studio 2005, but that would require the debug libraries 
>> of OSG right? I could try stepping through the code with the debugger 
>> later this week and see where it locks up/crashes.
>> I also noticed that there are some other issues with the (animation?) 
>> demos. After building the OSG 2.9.1 package (svn), I tried out a few 
>> of the animation demos. Running the demos is not a problem, but if 
>> you try to close them, it usually result in a crash. I'm not sure if 
>> its the osgAnimation part thats causing it or the viewer.
>>
>> Kind regards,
>> - Laurence
>> P.S.: Sorry about the previous reply, I made a mistake while 
>> attaching the file... ;\
>>
>>
>> -----Original Message-----
>> From: Cedric Pinson [mailto:mornifle at plopbyte.net]
>> Sent: Mon 3/23/2009 4:27 PM
>> To: OpenSceneGraph Users
>> Subject: Re: [osg-users] Animating vertices in a Geode
>>  
>> Hi Laurence,
>> Before i dig into can you give the stacktrace to have an idea where 
>> it crashes ?
>>
>> Cheers,
>> Cedric
>>
>> Laurence Muller wrote:
>>  
>>> Hi Cedric,
>>>
>>> I tried to create a simple project based on the 'osganimationmorph' 
>>> demo as Robert Osfield suggested.
>>>
>>> Instead of loading the geometries from a *.osg file, I define two 
>>> new geometries (both quads but on a different position). These 
>>> geometries are added as a drawable to the MorphGeometry.
>>> However, for some reason OSG doesn't allows me to swap the old geom0 
>>> and geom1 geometry objects with the ones I create. The application 
>>> crashes when you try to run it.
>>>
>>> Any suggestions?
>>>
>>> Kind regards,
>>> - Laurence
>>>
>>>
>>> Cedric Pinson wrote:
>>>    
>>>> <div class="moz-text-flowed" style="font-family: -moz-fixed">Hi 
>>>> Laurence,
>>>>
>>>> You can easily do it with morphgeometry:
>>>> - define two geometry with morphgeometry
>>>> - use an custom update callback that use an ease motion to control 
>>>> the ratio of geometry to use
>>>>
>>>> Would be great to make an example with it, it will help others users.
>>>>
>>>> Cheers,
>>>> Cedric
>>>>
>>>> Laurence Muller wrote:
>>>>      
>>>>> Hi,
>>>>>
>>>>> In the application I am working on, I am trying to create a smooth 
>>>>> (transition) animation on the vertices inside an object.
>>>>>
>>>>> Example:
>>>>> I have included an illustration to make my problem a bit more 
>>>>> clear. The current scene contains one geode with a geometry attached.
>>>>> The geometry is filled with 7 quads (4 vertices per quad) and is 
>>>>> illustrated as red dots in the picture. (The 'edges' are stored in 
>>>>> a separate geode)
>>>>>
>>>>> The application allows users to select a specific layout (radial, 
>>>>> force based, etc) for the quads. In the current implementation 
>>>>> this change happens immediately.
>>>>> (It updates the vertex array with new values and uses the dirty() 
>>>>> call on the vertex array).
>>>>>
>>>>> On the OSG wiki page I found some information about animating 
>>>>> objects in the scene graph.
>>>>> http://www.openscenegraph.org/projects/osg/wiki/Community/NodeKits/osgAnimation 
>>>>>
>>>>> http://www.robertpenner.com/easing/easing_demo.html
>>>>>
>>>>> However, it seems like this will only work on geode level (by 
>>>>> modifying the Matrix or PositionAttitudeTransformation).
>>>>> Another problem with this method is that it seems that you need to 
>>>>> create a predefined animation.
>>>>>
>>>>> In my case the new position of a vertex will depend on the current 
>>>>> position (and the animation only needs to be used once).
>>>>>
>>>>> Question:
>>>>> - Is there a way to use the osgAnimation functions on the vertex 
>>>>> array and is it possible to use it with the transition methods 
>>>>> from the EaseMotion demo?
>>>>>
>>>>> Kind regards,
>>>>> - Laurence
>>>>>
>>>>> ------------------------------------------
>>>>> Laurence Muller
>>>>> Website/Blog/Portfolio:
>>>>> http://www.multigesture.net/
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------ 
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------ 
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> osg-users mailing list
>>>>> osg-users at lists.openscenegraph.org
>>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org 
>>>>>
>>>>>           
>>> ------------------------------------------------------------------------ 
>>>
>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users at lists.openscenegraph.org
>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org 
>>>
>>>     
>>
>>   
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org 
>>
>>   
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: demo2_animate_geometry.cpp
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20090324/62d78294/attachment-0003.txt>


More information about the osg-users mailing list