About Tesselation

Started by
11 comments, last by ma_hty 15 years, 2 months ago
Hi All, How many polygons per 3D character should be used for a decent 3D game? More precisely, how many polygons per 3D character are usually used in Doom 3 approximately? Thanks.
Advertisement
Quote:Original post by ma_hty
How many polygons per 3D character should be used for a decent 3D game?


As many as are needed. Ultimately it's vertex count that's important, not poly count - and the limit for that depends entirely on your game. i.e. Soul Caliber will have higher resolution characters than GTA4, because 2 characters on screen is a lot cheaper than fifty.

Quote:Original post by ma_hty
More precisely, how many polygons per 3D character are usually used in Doom 3 approximately?


Who cares? It's an entirely pointless question to ask.

In my opinion this is a completely useless question, since a decent 3D character is usually determined by your modeling skills. It also depends what type of game this is. And if your modeling the main character or what, a character with 2k polys can look much better than a character with 18k polys. It all depends on the modelers skill and quality. But to answer your question any ways, Doom3 uses about 4-6k polys for most chars usually in the 4,500 - 5,500 range. As for games like GOW they can hit 10,000 on one of the main characters. So forget about poly count and do what suites your game, engine, skill.
Opps...

I'm sorry. I should have made my question more clearly in the first place.

The reason why I'm asking that is because I'm writing an article about rendering. And, I want to give an example of the number of polygons per model for the readers to have a brief idea of the number. Of course, any number of polygons per model can be used depending on the application. That's why I narrowed down my question to some well-known 3D games.
Number of polygons is a pointless metric though. You can have 1 polygon with 100,000 vertices, or you can have 100,000 polygons that use 3 vertices. It's the vertex count that more accurately reflects the GPU cost of the character....

Back in the days of the xbox1/PS2 that count would have been 1k to 2k. For the 360/PS3 you'll probably be in the region of 2k to 5k, depending on the type of game.
Funny RobTheBloke...
Quote:You can have 1 polygon with 100,000 vertices, or you can have 100,000 polygons that use 3 vertices


What is a polygon: a triangle. triangle = 3 vertices. How can you have 1 triangle made up of 100,000 vertices. What you mean to say is that computers draw triangles and that polycount doesn't have an exact correlation to triangles, though its pretty close.

I hate when people say you cant answer these questions. Doom I believe someone got the models ripped out and they are like 6000 polys. In a typical game you need to realize there are levels of detail, so a character model will be up-close lots of polygons, and far away not that many. But a typical hi-poly will sit most likely (and it really does vary...ALOT like they say), between 3,000 to 15,000.

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

Quote:Original post by dpadam450
Quote:You can have 1 polygon with 100,000 vertices, or you can have 100,000 polygons that use 3 vertices


What is a polygon: a triangle.


Oh dear. Oh deary deary me. Are you serious? I'm truly amazed that someone who studies at digipen doesn't have a clue what a polygon is. Most people are taught this stuff in primary school...

Quote:Original post by dpadam450
How can you have 1 triangle made up of 100,000 vertices.


I never said triangle - you did. A polygon can have 100,000 vertices - I suggest you look it up!

Quote:Original post by dpadam450
What you mean to say is that computers draw triangles and that polycount doesn't have an exact correlation to triangles, though its pretty close.


No. I said what i said, and I was 100% correct when i said it. I said that the Polycount doesn't have an exact correlation to the vertex count. Since a triangle is a subset of a polygon, it also follows that triangle-count doesn't have a correlation to the number of vertices.

Quote:Original post by dpadam450
I hate when people say you cant answer these questions. Doom I believe someone got the models ripped out and they are like 6000 polys.


Which will be split into 2 data sets. Vertex data, and index data. The vertex counts will be nearer 2000, with a lot of vertices being shared between triangles. Let's assume that the index count is 18000 (for your 6000 tris). The vertex processing cost when thrown at the GPU is 2000 - not 18,000. You could double the number of indices to 36,000 (maybe to draw all the polys as double sided) but your vertex processing cost is still 2000.

Your computational cost for skinning, transforming, and lighting those vertices is therefore dependent on vertex count and nothing else. The fragment shader cost for an asset will depend on how many polys are *not* culled, and the total area of all rendered polys with respect to the screen size. The fragment cost therefore changes and is not really a reliable performance metric.

Quote:Original post by dpadam450
In a typical game you need to realize there are levels of detail, so a character model will be up-close lots of polygons, and far away not that many. But a typical hi-poly will sit most likely (and it really does vary...ALOT like they say), between 3,000 to 15,000.


It doesn't vary that much if you look at the vertex count - and the vertex count is the reliable metric - not the poly count.
He is correct a triangle is made up of three vertices, and all angles = 180 degrees.

A polygon is defined as
1 : a closed plane figure bounded by straight lines
2 : a closed figure on a sphere bounded by arcs of great circle

hence the arbitrary amount of vertices can be used.
Quote:Original post by RobTheBloke
The vertex processing cost when thrown at the GPU is 2000 - not 18,000. You could double the number of indices to 36,000 (maybe to draw all the polys as double sided) but your vertex processing cost is still 2000.


Well, you can implement you software render this way easily. However, I have never noticed any implementation like that for GPU (i.e. reuse vertex shader result for indexed elements). As a matter of fact, it is not feasible this way in most cases. A vertex shared by some triangles doesn't imply these triangles share the same attributes. For instance, normals, colors and texture coordinates are not.

Do you have any solid reference to support your words, RobTheBloke?

This topic is closed to new replies.

Advertisement