Home » Community » Forums » OpenGL » About Tesselation
  Intel sponsors gamedev.net search:   
[Control Panel] [Register] [Bookmarks] [Who's Online] [Active Topics] [Stats] [FAQ] [Search]

Add Forum to Favorites |  Send Topic To a Friend | View Forum FAQ | Track this topic


 Last Thread Next Thread 
 About Tesselation
Post New Topic  Post Reply 
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.

 User Rating: 959   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.



 User Rating: 1409   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.

 User Rating: 970   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.

 User Rating: 959   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.

 User Rating: 1409   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Funny RobTheBloke...

 User Rating: 959   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.

 User Rating: 0   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.

 User Rating: 1409   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.

 User Rating: 1245   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

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?

 User Rating: 959   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.

Tristam MacDonald - swiftcoding

 User Rating: 1743   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.

[quote]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?

 User Rating: 0   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

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.

 User Rating: 959   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

All times are ET (US)

Post Reply
 Last Thread Next Thread 
Forum Rules:
You may not post new threads
You may post replies
You may not edit your posts
You may not use HTML in your posts
Jump To:
Administrative Options: