MultiAnimation Demo

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

MultiAnimation Demo

Post by sio2 »

Another demo on my website: http://sio2.g0dsoft.com

Screenshot (yes, that 100 animated models at 94fps):
Image

Readme from the demo:
MultiAnimation Demo for the Irrlicht 3D Engine
==============================================

sio2 'at' users.sourceforge.net

Overview
========
This is a demo of implementing the MultiAnimation sample from the DirectX9 SDK in the Irrlicht 3D Engine. The sample demonstrates mesh animation with multiple animation sets using high-level shader language (HLSL) skinning and the D3DX animation controller. The animation controller blends animation sets together to ensure a smooth transition when moving from one animation to another.

Usage
=====
The TAB key toggles the Irrlicht GUI on/off.

When the GUI is hidden the camera can be oriented via the mouse and moved with the WASD keys or cursor keys.

When the GUI is visible, information is printed to the screen and the following buttons are enabled:
Add Instance - Add an animated character to the scene.
Next View - Attach the fixed camera to the next character in the scene.
Previous View - Attach the fixed camera to the previous character in the scene.
Reset View - Switch from the fixed camera back to the movable camera.

Alt-F4 or Escape key to exit.

Requirements
============

Latest DirectX 9.0b drivers [www.microsoft.com/directx],
Latest DirectX9 drivers for your graphics hardware [from your HW vendor].

Recommended: Graphics card should support Vertex Shader 2.0 and Pixel Shader 2.0.

Some Vertex Shader 1.1 cards may be supported based on their capabilities.

Notes
=====
1. This demo is Direct3D9 only.

2. This demo may require the Visual Studio 2005 Redistributable Files installed on your machine. These can be obtained from http://www.sio2.g0dsoft.com in the "Misc" section in "Downloads".

3. This Irrlicht build is based on Irrlicht Subversion revision 444.
Baiame
Posts: 41
Joined: Sun Oct 15, 2006 11:33 am

Post by Baiame »

Impressive. I got 120fps with 100, 60fps with 200, and 30fps with 400. Shows that one could make a relatively large-scale shooter or strategy game run quite nicely in Irrlicht (especially considering that you won't need to render or animate that many at once).

I have a Core 2 Duo E660, 2 gb of DDR2 667mhz ram, and a GeForce 7950gt w/ 256m vram.
Rambus
Posts: 96
Joined: Thu Nov 24, 2005 4:56 pm
Location: Canada
Contact:

Post by Rambus »

Another great project sio2, if I'm not mistaken this is a replication of an example in the directx9 sdk?

I seem to remember this scene from outside of irrlicht :)

Great work.
sRc
Posts: 431
Joined: Thu Jul 28, 2005 1:44 am
Location: Salt Lake City, Utah
Contact:

Post by sRc »

The Walking/Running animations stutter for me... animations in standing position are smooth, something else wrong maybe?
The Bard sRc

Blog | Twitter
Midnight
Posts: 1772
Joined: Fri Jul 02, 2004 2:37 pm
Location: Wonderland

Post by Midnight »

at 15 I'm 100 fps

20 = 80fps

30 = 50fps


2.4ghz p4
512ram
256mb radeon 9550 pixel shader 2.0

the game could be done...add in some gui and yer looking at not so good speed with a decent card.

my card tends to run better under load though.
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

(128mb Nvidia 7200, 1.6 centrino Duo)

10 tinys = 150fps

70 tinys = 41 fps

sio2,

Impressive speeds,

I get 20fps with 70 tinys in b3d, making it double the speed, Impressive, but I bet the hardware skinning could be much faster still.

I’d guess that the animation of the bones is still slowing it down (what’s being used?)

Are you doing the release sources sometime? Don’t force me to beg :D
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

Baiame wrote:Impressive. I got 120fps with 100, 60fps with 200, and 30fps with 400. Shows that one could make a relatively large-scale shooter or strategy game run quite nicely in Irrlicht (especially considering that you won't need to render or animate that many at once).

I have a Core 2 Duo E660, 2 gb of DDR2 667mhz ram, and a GeForce 7950gt w/ 256m vram.
How did you fit 400 into the square? :twisted:

That's a nice setup with a very nice video card - the demo uses it well, as you can see.

Usually, in a game you'd hope to cull some of those 400. And also I bet I could LOD them down from the 6000 tris each when there's that many on screen...hmmm, idea for version 2 of the demo. :wink:
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

Rambus wrote:Another great project sio2, if I'm not mistaken this is a replication of an example in the directx9 sdk?

I seem to remember this scene from outside of irrlicht :)

Great work.
Err...from the text in my first post "This is a demo of implementing the MultiAnimation sample from the DirectX9 SDK in the Irrlicht 3D Engine."

:mrgreen:
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

The Anaconda wrote:The Walking/Running animations stutter for me... animations in standing position are smooth, something else wrong maybe?
Could be. It's currently tuned for my machine, but feedback obviously help me find issues such as this. The code chooses a skinning method based on your hardware - I may need to go back and test all the paths.
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

Midnight wrote:at 15 I'm 100 fps

20 = 80fps

30 = 50fps


2.4ghz p4
512ram
256mb radeon 9550 pixel shader 2.0

the game could be done...add in some gui and yer looking at not so good speed with a decent card.

my card tends to run better under load though.
Thanks for the numbers; they help me get an idea how it runs on other hardware. I think some LOD is my next task.

It's interesting that a single Tiny.x model runs at 78fps with "vanilla" SVN 444. In my demo, with hardware skinning, I can draw 100 of them at 95fps.

Having said that, Luke's B3D code in SVN 444 is pretty impressive. If I were making animated characters for vanilla Irrlicht I would use B3D format.
sio2
Competition winner
Posts: 1003
Joined: Thu Sep 21, 2006 5:33 pm
Location: UK

Post by sio2 »

Luke wrote:(128mb Nvidia 7200, 1.6 centrino Duo)

10 tinys = 150fps

70 tinys = 41 fps

sio2,

Impressive speeds,

I get 20fps with 70 tinys in b3d, making it double the speed, Impressive, but I bet the hardware skinning could be much faster still.

I’d guess that the animation of the bones is still slowing it down (what’s being used?)

Are you doing the release sources sometime? Don’t force me to beg :D
Don't forget, the demo is blending animations together, so it may be eating some cpu as well. It's not just animating a single animation. If you follow one of the characters (TAB to enable the gui and then "Next View" button) you'll see a heap of stats for the model your following. :)

Now I have some numbers (thanks all!) I can go back and tweak.
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

Yeah, but transitions like you've got can be done at about the same speed as normal animations. (or faster)

If your playing 2 animations at the same time for one mesh then I can see the slow down, but from the demo it doesn't seem like that's happening.

so about the source code...
Luke
Admin
Posts: 449
Joined: Fri Jul 14, 2006 7:55 am
Location: Australia
Contact:

Post by Luke »

I see you are playing two animations at the same time for the transition, it so fast it's hard to see.

The transition method I was using before just blended in to the new animation from a recorded pose, same effect, and little speed loss.

But for other stuff the animation blending is very useful.
drac_gd
Posts: 132
Joined: Sun Apr 09, 2006 8:43 pm

Post by drac_gd »

27 fps at 50 tinys but I have a slow computer. 1.61 Ghz AMD
Just wanted to say Sio2 you rock.
Julian
Posts: 5
Joined: Sun Feb 04, 2007 1:22 am
Location: Holland

Post by Julian »

Nice sio2 :)
Post Reply