How to do animation and IK with OpenGL?

Started by
3 comments, last by Chananya Freiman 10 years, 9 months ago

Any examples? books? links for me to help.

Thanks

Jack

Advertisement

Animation and IK are two different topics. When it comes to animations which type are you trying to do. They are many different type of animations.

OpenGL is a graphics API, and for practical purposes a graphics library. It renders graphics, visualizes a temporal snapshot of the state of a world. There is no build-in support for animation, kinematics, physics, or something similar. It's up to the user to implement a system for those things, letting OpenGL just render the result.

The point of contact is to provide OpenGL compatible data structures for meshes at the end. That said, any tutorial that handles animation or kinematics done manually or by using a dedicated library is suitable in some way.

There is a tendency where flexible enough parts of OpenGL (i.e. shader scripts) are "misused" to do some stuff not directly related to graphics rendering. An example is skinning on the GPU. However, general animation and kinematics is IMO still done on the CPU.

So, perhaps rephrase your question, giving us more details of what you want to do?

Not really unfortunately. I may be releasing some simple code library to handle some animation.

Look up vertex skinning, skeletal animation... there may be something useful.

NBA2K, Madden, Maneater, Killing Floor, Sims http://www.pawlowskipinball.com/pinballeternal

There is a tendency where flexible enough parts of OpenGL (i.e. shader scripts) are "misused" to do some stuff not directly related to graphics rendering. An example is skinning on the GPU. However, general animation and kinematics is IMO still done on the CPU.

That isn't misusing OpenGL, that's using properly your GPU. The whole idea of shaders is to give you the programmable ability to do anything you want with it.

Your GPU is by far better at these things than your CPU, and by "these things" I mean applying redundant calculations on big vector-like data sets. Bones (matrices) happen to fit that description.

GPGPU just makes this more obvious (either through OpenCL/CUDA, or compute shaders, if they exist already?).

Updating the animation skeletons, and using IK (which isn't really related to rendering in any way, but rather to physics), though, is usually done on the CPU. There will probably be a time when that, too, wont be true anymore, but we are still not there.

This topic is closed to new replies.

Advertisement