Sign in to follow this  
miminawewe

Display lists in character animation?

Recommended Posts

If you meen keyframe animation, like in Quake2, so the answer is yes. For example. MD2 Quake2 model file format consists of geometry, texture reference and compiled display lists for quick rendering.
But now it is not actual. Keyframe animation is very old technique, now everybody uses "skin animation" with vertex weighting, vertex position is evaluated directly in vertex shader as wheighted sum of bone matrices, multiplied with reference point position.
Wath in google "skin animation", or watch the example in nVidia SDK - "Skinning"

Share this post


Link to post
Share on other sites
A dumb idea, but anyway, you could record each body part as a display list, like the first Lara Croft in Tomb Rider 1. But the results are way to bad.

If you would like to manipulate vertices but not in shaders, but still faster than glVertex3f(...) you should use VBO. This buffers perform almost the same as display lists but they are dynamic. So you can compute new position of your mesh and store it into vbo, and then draw the buffer in one single pass.

Share this post


Link to post
Share on other sites
Samurai Jack-My favourite toon, I missed a Lecture to watch an episode-hahhaa.
Anyway I can't use shaders coz I'm using OpenGl 1.4( therefore no shader support). I know about skinning, my character animation code uses it. I thought about VBOs(vertex buffer objects) then I thought of putting the VBOs in a display list(maybe I can gain more?). Because of interpolation the values to be rendered during gameplay cannot be determined when the display list is being compiled, right?.
Is there a tutorial or article about this? The RedBook isn't very clear.

Share this post


Link to post
Share on other sites
My advice - simply use dynamic VBO w/o any display lists, cause in VBO case all the vertex info is already in AGP memory, so, no data tranfers between system bus/vide memory occurs.

Share this post


Link to post
Share on other sites
There is the ARB_VERTEX_BLEND extension. I haven't used it, but from what I know it exposes a set of matrices(==bones) and allows you to specify weight values for each vertex, either in immediate mode or with glWeightPointer(so you can use it with vertex arrays or VBO's). So, by manipulating those matrices you can achieve skinning.

Share this post


Link to post
Share on other sites
Interesting extensions in that website mikeman.OK let me sleep on this.Thanks for all your suggestions.Jackis, I'm using a graphics adapter that is integrated with the main board i.e I'm not using a graphics adapter attached to the AGP slot.If anyone can come up with more suggestions I'll be glad.Thanx alot.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this