The problem with rbody is that it's pushing all of the vertices to the GPU every frame. Using a display list stops the animation because it's precompiling the vertices onto the GPU, so it doesn't change. Using display lists would only help for a stationary character. You can write the vertices straight to a vertex buffer and see some performance benefit, but I don't think rbody supports that. We are currently removing rbody from our engine (Delta3D) to use cal3d straight. Partly so that we can control the rendering. If you want to see more characters and you use a vertex buffer, you can do things like only updating the animations on timer somewhat less than the frame-rate, which will allow a vertex buffer to not be written to the card every frame. Another option is to do hardware skinning where you only use cal3d to update the bone positions and have a vertex shader use the bone positions to move the vertices of static pieces of geometry in the GPU.

On Apr 18, 2007, at 3:06 PM, Zach Deedler wrote:

PROBLEM
I want more people in my scenes rendering at 60 Hz.

INVESTIGATION
Well I spent all this time putting in LODs, but I didn't get spectacular results. :(
I render a man model, and looked at the stats.

High level LOD  3497 vertices  0.5 Draw time
Low level  LOD  805 vertices   1.0 Draw time

The draw time is the draw time of the actual model (I cancelled out the 0.5 draw time of drawing nothing)
Stopping his animation doesn't improve the stats.
Removing the textures doesn't improve the stats.
Rendering a non-cal3d model of 4837 vertices gives me 0.25 draw time.
If I tell the geometry of the rbody Submesh to setSupportsDisplayList(true), the man no longer animates, but the draw time goes to 0.2.
QUESTIONS
Where is all the draw time being spent for cal3d/rbody?
What can I do to reduce the draw time?
Any suggestions on how to find the performance bottleneck?
For now, I'll continue to hack away.

Thank you.

Zach

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:osg-users- [EMAIL PROTECTED] On Behalf Of Jan Ciger
Sent: Wednesday, April 18, 2007 14:25
To: osg users
Subject: Re: [osg-users] cal3d lod

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jeremy L. Moles wrote:
> Palle Raabjerg and I rewrote most of the Cal3D exporter for Blender
> (he as a Google SOC project and myself just out of curiosity) that is
> currently in Cal3D SVN (I also put up the new funky website!). I
> didn't write any of the LOD code however, and I can confirm it is
> certainly not in a working state at the moment; I do plan on revisiting it eventually.
> There isn't a lot of activity lately unfortunately, but I don't
> believe the project is dead...
>

That's a good news - that exporter could use some love. I have also a similar waiting project there - to finish a BVH skeleton and animation loader for Blender. There are some really nasty and non- trivial issues there so I cannot blame you for the Cal3D one - I have seen the code when I needed a converter for our in-house animation format to Cal3D and it is certainly not a piece of cake.

Jan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Mandriva - http://enigmail.mozdev.org

iD8DBQFGJmJ0n11XseNj94gRAtSbAJ0dc6s93SQSeDCOuno/nje55etdngCeNa62
Vl+RKgDdS6TKwBXzBgb0a0U=
=xU0R
-----END PGP SIGNATURE-----
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to