Faces Guideline

The place for artists, modellers, level designers et al to discuss their approaches for creating content for OGRE.
Post Reply
tonyhnz
Greenskin
Posts: 101
Joined: Fri Feb 25, 2005 3:54 am
Location: Florida

Faces Guideline

Post by tonyhnz »

In our game we wish to allow for a large number of moving models present in a scene at the same time. For arguments sake lets say we want to have a max of 200 character models in close proximity.
Does anyone have any guidelines or suggestions as to how many faces we should use for these models.
User avatar
walaber
OGRE Expert User
OGRE Expert User
Posts: 829
Joined: Sat Oct 02, 2004 2:20 pm
Location: California, USA
Contact:

Post by walaber »

i think that depends heavily on your proposed system requirements for the game you're making. but the easiest thing to do is just run some simple tests, and make your decision from there. but remember that your final game will be much more complex than any test, so leave a little room for that (in other words choose a slightly smaller polycount than the tests recommend)..
Go Go Gadget OGRE!!
Image
User avatar
RyanN
Halfling
Posts: 82
Joined: Thu Aug 19, 2004 6:41 am
Location: Victoria, Australia
Contact:

Post by RyanN »

mucking around with the ogre robot demo any more than 100 robots on screen at once while animating would chug the FPS.
tonyhnz
Greenskin
Posts: 101
Joined: Fri Feb 25, 2005 3:54 am
Location: Florida

Post by tonyhnz »

I think I will start with a target of 5000 polygons and see if that gives enough detail and does not bring the video card to its knees (when there are many characters in the scene).
On a related question - does Ogre use some sort of algorithm on (non static) meshes so that further away meshes have less detail ?
User avatar
psyclonist
OGRE Expert User
OGRE Expert User
Posts: 286
Joined: Fri Nov 01, 2002 3:54 pm
Location: Berlin & Nuremberg, Germany
x 1
Contact:

Post by psyclonist »

Two hundred animated characters with 5000 polys each? I doubt you'll experience acceptable performance. There are documents around the web which talk about commercial products and the detail of objects in RTSs, for example, when lots of characters are in view. They talk about a few hundred polys per character (most of the time at the lower end...) for acceptable results. Anyway, looking forward to your results!

-psy
zander76
Halfling
Posts: 89
Joined: Sun Oct 06, 2002 11:19 pm

Post by zander76 »

Hmm, see if I remember this correctly. Perhaps someone can correct me on memory consumption.

You have 6000 poly mesh and its indexed (say each point is has 3 triangles attached) give you 2000 vertecies not including the index.

So each vertex is:
float x, y, z, w
float u, v

Each float is 4bytes giving you a total per vertex of 24bytes.

2000 * 24 = 48000bytes or 46k without the texturing or anything. With 200 characters 8meg of video memory. If you are using 512x512 textures for characters ( textures for characters are usually bigger then other textures in your game ) then thats an additional meg for each character that does not look like the others.

To make things worse is that if you are doing the animation in the cpu then the 8meg for characters will have to be tranferred accross the bus to the video card before being displayed causing fill rate problems.

Hopefully I got that right.. Just woke up. :) If not someone please correct me so that they will have a good idea of what they will need.

Ben
Dating a women is like driving in a foreign country. You don't know what side of the road your on, you can't understand the signs and you certainly don't want to ask for directions but it usually worth the ride. :)
User avatar
:wumpus:
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 3067
Joined: Tue Feb 10, 2004 12:53 pm
Location: The Netherlands
x 1

Post by :wumpus: »

tonyhnz wrote: On a related question - does Ogre use some sort of algorithm on (non static) meshes so that further away meshes have less detail ?
Yes, it has an LOD (progressive mesh) algorithm which is automatically used.
2000 * 24 = 48000bytes or 46k without the texturing or anything. With 200 characters 8meg of video memory. If you are using 512x512 textures for characters ( textures for characters are usually bigger then other textures in your game ) then thats an additional meg for each character that does not look like the others.
Uhm, the vertex data of one character can be shared by the others. If you display 200 instances of the same mesh you still only use 1x the vertex and texture memory.
To make things worse is that if you are doing the animation in the cpu then the 8meg for characters will have to be tranferred accross the bus to the video card before being displayed causing fill rate problems.
Luckily, with hardware skinning (which is mandatory for so many animated entities) only the positions/orientations of the bones have to be transferred. This is a few bytes per entity per frame.
zander76
Halfling
Posts: 89
Joined: Sun Oct 06, 2002 11:19 pm

Post by zander76 »

Thanks wumpus,

Yeah, I guess I wasn't that clear about if they are different characters or not. If you are doing some kind of RTS then chances are the characters will all be the same. I was thinking something more like World of Warcraft when I answered, playing to much I guess. :)

Can you do hardware skinning with a physics library. I guess you would just keep a copy in both video memory and system and do calculations on system then tranfer the results.

Thanks for the additional detail, made things clearer.
Ben
Dating a women is like driving in a foreign country. You don't know what side of the road your on, you can't understand the signs and you certainly don't want to ask for directions but it usually worth the ride. :)
tonyhnz
Greenskin
Posts: 101
Joined: Fri Feb 25, 2005 3:54 am
Location: Florida

Post by tonyhnz »

The characters will be sharing the same pool of potential textures. We want to have armor parts that can be swapped out so Im not sure what effect that has on those calculations.
I am beginning to think that 5000 may be on the high side. I need to look at some lower poly models to see if they look detailed enough.
Imperil

Post by Imperil »

No offence but if you want 200 models on the screen you are nowhere even close to 5000 poly.

I would look at around 200-300 tris. unless you want the game to be < 5fps.

I saw somebody mention World of Warcraft.. for reference the models in that game range from a few hundred up to about 1500-1600 tris.
Post Reply