Difference between revisions of "Polygon Count"

From polycount
Jump to: navigation, search
m (removed wrong category)
 
(8 intermediate revisions by one other user not shown)
Line 1: Line 1:
= Polygon Count =
+
The two common measurements of a game model's "cost" are polygon count and vertex count. Polygon is interchangeable with triangle in these measurements, as GPUs only see vertices and triangles, not 4+ sided polygons. Depending on the use, a game model may stretch anywhere from 2 triangles for a billboard, to 40,000+ triangles for a complex character.
  
 
The two common measurements of a game character's 'cost' are polygon count and vertex count. Polygon is interchangeable with triangle in these measurements, as GPUs only see vertices and triangles, not 4+ sided polygons. Depending on the use, a game character may stretch anywhere from 200-300 triangles, to 40,000+ triangles. A high-end third-person console or PC game may use many vertices or triangles per character, and an iOS tower defense game might use very few per character.
 
  
 
== Polygons Vs. Triangles ==
 
== Polygons Vs. Triangles ==
When a game artist talks about the poly count of a model, they really mean the triangle count. Games almost always use triangles not polygons because most modern graphic hardware is built to accelerate the rendering of triangles.  
+
When a game artist talks about the poly count of a model, they really mean the triangle count. Games use triangles not polygons because most modern graphic hardware is built to accelerate the rendering of triangles.  
  
The polygon count that's reported in a modeling app is always misleading, because a model's triangle count is higher. It's usually best therefore to switch the polygon counter to a triangle counter in your modeling app, so you're using the same counting method everyone else is using.
+
The polygon count that's reported in a modeling app is always misleading, because the triangle count is higher. Polygons are always converted into triangles when loaded in a game engine. If you're using a polygon counting tool in your modeling app, it's best to switch it to count triangles so you're using the same counting method everyone else is using.
  
Polygons however do have a useful purpose in game development. A model made of mostly four-sided polygons (quads) will work well with edge-loop selection & transform methods that speed up modeling, make it easier to judge the "flow" of a model, and make it easier to weight a skinned model to its bones. Artists usually preserve these polygons in their models as long as possible.
+
{|
 
+
|[[image:triangles.jpg]]
[[image:ridge_valley.gif]]
+
|-
 +
|Image by [http://cryrid.com/art Michael "cryrid" Taylor]
 +
|}
  
 
When a model is exported to a game engine, the polygons are all converted into triangles automatically. However different tools will create different triangle layouts within those polygons. A quad can end up either as a "ridge" or as a "valley" depending on how it's triangulated. Artists need to carefully examine a new model in the game engine to see if the triangle edges are turned the way they wish. If not, specific polygons can then be triangulated manually.
 
When a model is exported to a game engine, the polygons are all converted into triangles automatically. However different tools will create different triangle layouts within those polygons. A quad can end up either as a "ridge" or as a "valley" depending on how it's triangulated. Artists need to carefully examine a new model in the game engine to see if the triangle edges are turned the way they wish. If not, specific polygons can then be triangulated manually.
 +
 +
{|
 +
|[[image:ridge_valley.gif]]
 +
|-
 +
|Image by [http://ericchadwick.com Eric Chadwick]
 +
|}
  
 
When using a [[NormalMap]] some tools may require an artist to convert the model into all triangles before baking. If the triangles are flipped differently when the model is exported than they were when the normal map was baked, this can cause the final normal-mapped lighting to zig-zag across the model. Triangulating before baking will solve this.
 
When using a [[NormalMap]] some tools may require an artist to convert the model into all triangles before baking. If the triangles are flipped differently when the model is exported than they were when the normal map was baked, this can cause the final normal-mapped lighting to zig-zag across the model. Triangulating before baking will solve this.
 +
 +
Polygons have a useful purpose for game artists. A model made of mostly four-sided polygons (quads) will work well with edge-loop selection & transform methods that speed up modeling (see [[Topology]]). This makes it easier to judge the "flow" of a model, and to weight a skinned model to its bones. Artists try to preserve these polygons in their models as long as possible.
 +
  
 
== Triangle Count vs. Vertex Count ==
 
== Triangle Count vs. Vertex Count ==
Line 25: Line 34:
  
 
Overuse of smoothing groups, over-splittage of UVs, too many material assignments (and too much misalignment of these three properties), all of these lead to a much larger vertex count. This can stress the transform stages for the model, slowing performance. It can also increase the memory cost for the mesh because there are more vertices to send and store.
 
Overuse of smoothing groups, over-splittage of UVs, too many material assignments (and too much misalignment of these three properties), all of these lead to a much larger vertex count. This can stress the transform stages for the model, slowing performance. It can also increase the memory cost for the mesh because there are more vertices to send and store.
 +
  
 
=== Tools for Counting Vertices ===
 
=== Tools for Counting Vertices ===
 
Because vertices are duplicated for in-game rendering, most 3D modeling tools don't give you the correct vertex count. They only count mesh vertices.  
 
Because vertices are duplicated for in-game rendering, most 3D modeling tools don't give you the correct vertex count. They only count mesh vertices.  
  
However, artists shouldn't worry too much about calculating exact vertex counts, simply go for common sense and don't be wasteful.  
+
You can use the UV vertex count as a rough guide. However, artists shouldn't worry too much about calculating exact vertex counts, simply go for common sense and don't be wasteful.  
  
* [http://www.jhaywood.com/ James "FatAssasin" Haywood] wrote a [http://www.ericchadwick.com/examples/files/HaywoodTools-UberVertCount.mcr MAXScript for 3ds Max] that calculates the eventual in-game vertex count.
+
* [http://jokermartini.com/gamefomizer/ Gamefomizer] by [http://jokermartini.com John Martini] - a tool for 3ds Max which calculates the in-game vertex count.
* [http://www.ldaustinart.com/paul/ Paul "MoP" Greveson] wrote a [http://www.polycount.com/forum/showthread.php?p=934301#post934301 mel script for Maya] that calculates the eventual in-game vertex count. Perhaps he'll be able to share it at some point. :)
+
* [http://www.ericchadwick.com/examples/files/HaywoodTools-UberVertCount.mcr UberVertCount] by [http://www.jhaywood.com/ James "FatAssasin" Haywood] - a tool for 3ds Max which calculates the in-game vertex count.
 +
* [http://www.polycount.com/forum/showthread.php?p=934301#post934301 mel script for Maya] by [http://www.ldaustinart.com/paul/ Paul "MoP" Greveson]  - a tool for Maya which calculates the in-game vertex count. Perhaps he'll be able to share it at some point. :)
  
 
== Typical Triangle Counts ==
 
== Typical Triangle Counts ==
The typical triangle count for a game mesh depends on many factors, see "[http://www.rsart.co.uk/2006/11/20/how-many-polygons-in-a-piece-of-string/ How many polygons in a piece of string?]" by [http://www.rsart.co.uk Rick Stirling]. Here are some examples, but the best bet is to ask your Lead Artist or Lead Programmer what should be used for each asset:
+
The typical triangle count for a game mesh depends on many factors. Here are some examples, but the best bet is to ask your Lead Artist or Lead Programmer what should be used for each asset.
  
* [http://www.rsart.co.uk/2007/08/27/yes-but-how-many-polygons/ Yes, but how many polygons?] by [http://www.rsart.co.uk Rick Stirling]. Triangle counts & texture sizes used in some of the popular console and PC games.
+
* [http://polycount.com/discussion/187926/poly-count-rules-of-thumb-full-chart Poly Count Rules of Thumb - Full Chart] Polycount Forum thread.
 +
* [http://www.polycount.com/forum/showthread.php?t=141061 Polycounts in next gen games thread!] Polycount Forum thread. Triangle counts for 2013-2015 games, both characters and environments. Read the replies for various important considerations.
 +
* [http://www.gameartisans.org/forums/threads/23520-Historical-Poly-Counts Historical Poly Counts] GameArtisans Forum thread. Triangle counts for various 1997-2010 games.
 +
* [http://www.polycount.com/forum/showthread.php?t=126662 Triangle counts for assets from various videogames] Polycount Forum thread. Triangle counts for models in more than 130 games, in alphabetical order.
 +
* [http://www.polycount.com/forum/showthread.php?t=40563 Low Poly Hardware Specs] Polycount Forum thread. Maximum triangles, texture specs, and rendering features for popular handheld and mobile hardware.
 
* [http://forum.beyond3d.com/showthread.php?t=43975 Yes, but how many polygons? (Beyond3D Forum)]. Even more specifics for console and PC games.
 
* [http://forum.beyond3d.com/showthread.php?t=43975 Yes, but how many polygons? (Beyond3D Forum)]. Even more specifics for console and PC games.
* [http://www.polycount.com/forum/showthread.php?t=40563 Low Poly Hardware Specs] from the Polycount forum. Maximum triangles, texture specs, and rendering features for popular handheld and mobile hardware.
+
* [http://www.rsart.co.uk/2007/08/27/yes-but-how-many-polygons/ Yes, but how many polygons?] by [http://www.rsart.co.uk Rick Stirling]. Triangle counts & texture sizes used in some of the popular console and PC games.
* [http://www.polycount.com/forum/showthread.php?t=126662 Triangle counts for assets from various videogames] Polycount Forum thread.. Triangle counts for models in more than 130 games, in alphabetical order.
+
* [http://www.rsart.co.uk/2006/11/20/how-many-polygons-in-a-piece-of-string/ How many polygons in a piece of string?]" by [http://www.rsart.co.uk Rick Stirling]
 +
 
 +
 
 +
Note: Vertex count is actually a more accurate gauge of performance, see above [[Polygon_Count#Triangle_Count_vs._Vertex_Count|Triangle Count vs. Vertex Count]].
  
 
== Articles About Performance ==
 
== Articles About Performance ==
Line 50: Line 68:
  
 
----
 
----
[[Category:CharacterModeling]] [[Category:EnvironmentModeling]] [[Category:Rendering]][[Category:Technology]][[Category:Topology]][[Category:Environment]][[Category:Character]][[Category:Props]]
+
[[Category:CharacterModeling]] [[Category:EnvironmentModeling]] [[Category:Rendering]][[Category:Topology]][[Category:Environment]][[Category:Character]][[Category:Props]]

Latest revision as of 15:45, 1 September 2021

The two common measurements of a game model's "cost" are polygon count and vertex count. Polygon is interchangeable with triangle in these measurements, as GPUs only see vertices and triangles, not 4+ sided polygons. Depending on the use, a game model may stretch anywhere from 2 triangles for a billboard, to 40,000+ triangles for a complex character.


Polygons Vs. Triangles

When a game artist talks about the poly count of a model, they really mean the triangle count. Games use triangles not polygons because most modern graphic hardware is built to accelerate the rendering of triangles.

The polygon count that's reported in a modeling app is always misleading, because the triangle count is higher. Polygons are always converted into triangles when loaded in a game engine. If you're using a polygon counting tool in your modeling app, it's best to switch it to count triangles so you're using the same counting method everyone else is using.

Triangles.jpg
Image by Michael "cryrid" Taylor

When a model is exported to a game engine, the polygons are all converted into triangles automatically. However different tools will create different triangle layouts within those polygons. A quad can end up either as a "ridge" or as a "valley" depending on how it's triangulated. Artists need to carefully examine a new model in the game engine to see if the triangle edges are turned the way they wish. If not, specific polygons can then be triangulated manually.

Ridge valley.gif
Image by Eric Chadwick

When using a NormalMap some tools may require an artist to convert the model into all triangles before baking. If the triangles are flipped differently when the model is exported than they were when the normal map was baked, this can cause the final normal-mapped lighting to zig-zag across the model. Triangulating before baking will solve this.

Polygons have a useful purpose for game artists. A model made of mostly four-sided polygons (quads) will work well with edge-loop selection & transform methods that speed up modeling (see Topology). This makes it easier to judge the "flow" of a model, and to weight a skinned model to its bones. Artists try to preserve these polygons in their models as long as possible.


Triangle Count vs. Vertex Count

Vertex count is ultimately more important for performance and memory than the triangle count, but for historical reasons artists more commonly use triangle count as a performance measurement.

On the most basic level, the triangle count and the vertex count can be similar if the all the triangles are connected to one another. 1 triangle uses 3 vertices, 2 triangles use 4 vertices, 3 triangles use 5 vertices, 4 triangles use 6 vertices and so on.

However, seams in UVs, changes to shading/smoothing groups, and material changes from triangle to triangle... are all treated as a physical break in the model's surface, when the model is rendered by the game. The vertices must be duplicated at these breaks, so the model can be sent in renderable chunks to the graphics card.

Overuse of smoothing groups, over-splittage of UVs, too many material assignments (and too much misalignment of these three properties), all of these lead to a much larger vertex count. This can stress the transform stages for the model, slowing performance. It can also increase the memory cost for the mesh because there are more vertices to send and store.


Tools for Counting Vertices

Because vertices are duplicated for in-game rendering, most 3D modeling tools don't give you the correct vertex count. They only count mesh vertices.

You can use the UV vertex count as a rough guide. However, artists shouldn't worry too much about calculating exact vertex counts, simply go for common sense and don't be wasteful.

Typical Triangle Counts

The typical triangle count for a game mesh depends on many factors. Here are some examples, but the best bet is to ask your Lead Artist or Lead Programmer what should be used for each asset.


Note: Vertex count is actually a more accurate gauge of performance, see above Triangle Count vs. Vertex Count.

Articles About Performance


Personal tools
Namespaces

Variants
Actions
Navigation
Tools