• Advertisement
Sign in to follow this  

About Tesselation

This topic is 3312 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
Quote:
Original post by ma_hty
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. Do you have any solid reference to support your words, RobTheBloke?
This is what the vertex cache is for. Sure, Rob is looking at an ideal view of the system, but in practice you wont have to run vertex shaders on anywhere near 18,000 vertices, given the 2,000 vertex count.
Quote:
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.
A vertex count of 2,000 includes all duplicate positions. OpenGL and Direct3D cannot render from separate indices for each component.

Share this post


Link to post
Share on other sites
Quote:
What is a polygon: a triangle.


Ok...my bad, lets get all arguing at me: A polygon is a collection of triangles. A GPU draws triangles though, so I went with the base case.

Quote:
A polygon can have 100,000 vertices - I suggest you look it up!


At the end of the day, its composed of triangles. A triangle is 3 vertices.
After you polygon is cut up into individual triangles... Your GPU draws that many trianges.

Your talking about 2 piplelines, vertex cache/ transformations, and rasterizations. They both have bottlenecks.

But....my point was that there IS a correlation to polycount.

Here is what you said:

Quote:
Number of polygons is a pointless metric though.

I said that the Polycount doesn't have an exact correlation to the vertex count."

You first said that it is pointless = it has no correlation. So we are on the same page now it seems.

Quote:
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.


Yes, but in every general case, you will have shared vertices on all models. So you can technically factor that out of the equation.

Quote:

and the vertex count is the reliable metric

Yes, but I said polycount holds SOME weight. I said corellation. Two seperate character models, with the same polycount, will draw at about the same time depending on how many shared vertices there are, which again I factored out.

And just because someone goes to DigiPen doesn't mean they know EVERYTHING, but I post in this OpenGL forum plenty much, and have a nice engine. There are stupid people at any college. And I'm not one of them. Not sure why you personally attacked me?

Share this post


Link to post
Share on other sites
Quote:
Original post by dpadam450
And just because someone goes to DigiPen doesn't mean they know EVERYTHING, but I post in this OpenGL forum plenty much, and have a nice engine. There are stupid people at any college. And I'm not one of them. Not sure why you personally attacked me?


dpadam450, I don't think RobTheBloke is attacking you in personal sense. He have an attitude problem in general. However, I do believe he mean good (at least he is trying to offer some information).

The term "polygon" can be misleading. My fault. When I said polygon, I'm referring triangle precisely, as triangular mesh is the dominating form of 3D model for rendering. For some reason, most articles I read using the term "polygon" this way. ...

Quote:
Original post by swiftcoder
This is what the vertex cache is for. Sure, Rob is looking at an ideal view of the system, but in practice you wont have to run vertex shaders on anywhere near 18,000 vertices, given the 2,000 vertex count.


By the way, thanks swiftcoder. I really missed that.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement