Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


What is your poly budget?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
15 replies to this topic

#1 Scouting Ninja   Members   -  Reputation: 714

Like
0Likes
Like

Posted 08 July 2013 - 07:26 PM

Being a 3D artist I am often asked to join others in there game projects, from years of experience I have learned to ask these three questions first.

 

Have you made a 3D game before?

Can I download it?

What is your poly budget?

 

In truth, I really only care about the third question, I will still join a project of a beginner if thy prove thy did some research.

The answer: "modern game engines do not need poly budgets." means that the game, will not see the light of publication.

Even a number, that I consider to be too high could mean the end of the conversation, but how much is too much?

 

I fear that two years of working in the CGI world has numbed my understanding of the needs that game designers have.

 

Now I am asking those of you who have worked or have a good understanding of 3D graphics, how much polygons do you use?

 

I understand that it depends on the project so feel free to elaborate, if you want you can answer in a data form e.g.

 

XNA

 

3rd Person Shooter.

 

Hero 5000 Polygons(10 000 Tri)

Edit: Bones 22

Enemy 4000 Polygons

Edit: Bones 18

 

Large prop: Building 500 000 Poly

Mid Prop: Tree 10 000 - 8 000 Poly (Static mesh)

Small Prop: Gun 2500 Poly

 

Ps: If we could use unlimited polygons, I will be one of the first to right a atom based game engine.


Edited by Scouting Ninja, 08 July 2013 - 07:28 PM.


Sponsor:

#2 TheChubu   Crossbones+   -  Reputation: 4581

Like
0Likes
Like

Posted 08 July 2013 - 08:06 PM

Over 9 thousand triangles per character.


"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

 

My journals: dustArtemis ECS framework and Making a Terrain Generator


#3 Ohforf sake   Members   -  Reputation: 1832

Like
1Likes
Like

Posted 09 July 2013 - 01:10 AM

I like to look at the wireframe of the entire scene as rendered in the engine and overlay the pixel grid. That way, you always have the relation between triangle size and pixel size which IMO is equally important. For example, if you have a high poly mushroom in a close up shot, everything is fine. If you have a high poly mushroom and a good LOD system that switches to, say, a billboard, you are fine too. If you only have the high poly mushroom and covered an entire forrest with it, then it will show up in the rendered wireframe and you will notice, that the "triangle density" is way too high. And you will even see it if 90% of the mushrooms are hidden from view.

 

I know this can't be used as an initial guideline for modelling the asset, but it gives good intell on whether the designers misused the asset or if a stronger LOD is needed after all.



#4 Scouting Ninja   Members   -  Reputation: 714

Like
0Likes
Like

Posted 09 July 2013 - 10:18 AM


I like to look at the wireframe of the entire scene as rendered in the engine and overlay the pixel grid.

This is very useful when working with a whole seen, but as a modeler I usually make the models and this is then added to the scene by a level designer.

What I am looking for is a good by the rule of thumb value, to keep in mind when working.



#5 Ravyne   GDNet+   -  Reputation: 7815

Like
0Likes
Like

Posted 09 July 2013 - 11:29 AM

Obviously its not an unbounded number, but for the most part we haven't been limited in the number of triangles we draw for years on the desktop -- that is, you can pretty much always use as many triangles as is necessary to make things look good, as long as you're not being gratuitous -- especially now with hardware tessellation. On the desktop PC, you're more often limited by the number of draw calls you make, not how many triangles are coming out the other end. On mobile platforms, fill rate is often the limiting factor (e.g. tegra 2). On current consoles, I'd wager its VRAM and shader throughput that are limiting factors, but I don't work on consoles and its only a guess.

 

 

That said, half a million polygons for a building is excessive, most buildings just don't have that kind of geometric detail -- particularly if you're not breaking that render up with some form of BSP scheme you're just wasting a ton of resources on things you won't see anyway. 



#6 Scouting Ninja   Members   -  Reputation: 714

Like
1Likes
Like

Posted 09 July 2013 - 12:32 PM


use as many triangles as is necessary to make things look good, as long as you're not being gratuitous -- especially now with hardware tessellation.

Tessellation is added onto the original mesh and doesn't count to the poly budget, instead the poly budget defines the tessellation e.g.

A model of a 1000 quads will turn into 4000 at first then 16000.

 

If the poly budget is not considered then the artist could make the mistake of using 5000 quads, thinking that only one level of tessellation would be used.

Now the 5000 turns to 20000 to 80000.

This happens a lot, if you are coding the game by yourself this isn't a problem, but when working in a large team this will set you back by as much as a whole day.

 


half a million polygons for a building is excessive

This only begs the question of how much polygons should be added into a single mesh buffer at most?



#7 jsuffolk   Members   -  Reputation: 316

Like
2Likes
Like

Posted 09 July 2013 - 08:15 PM

XNA

750,000 on my most detailed model, with lots of culling. Mid size ships are between 30,000 and 70,000, can have several dozen of these on screen during large battles

 

On low-end hardware (HD4000) my GPU-accelerated fractal algorithm for planets is set to draw just a little over a million triangles, whereas on high-end PCs it can be cranked to push over 4 million triangles.

 

Various other effects (particles effects, stars/parallax) render several thousand more tris.

 

For mobile devices (e.g. HD4000) in total I push somewhere between one or two million triangles (unfortunately this comes at the cost of pushing 1080p framerates under 20 fps, though 720p is still very smooth). On more powerful desktops with good graphics cards I can push 5+ million on 1080p with no framerate drops. I haven't yet tested this on any ultra-powerful desktop machines, my hardware is a little dated. I suspect some new machines could do millions more tris.

 

My game is highly GPU-bound in terms of performance, CPU makes little or no difference except for load times (NOTE: load times can be pretty awful for complex models on low-end machines).


Edited by jsuffolk, 09 July 2013 - 08:16 PM.


#8 marcClintDion   Members   -  Reputation: 431

Like
0Likes
Like

Posted 10 July 2013 - 04:02 AM

When I build models I try to go for the lowest poly count that I can squeeze out of it and I use normal maps to fill in the detail. Also there are also a lot of source code examples for implementing other techniques for enhancing detail such as parallax mapping, relief mapping, cone-step mapping, etc... 

 

These methods alter a models texture map coordinates to simulate how a raised surface will travel farther along an arc than a lower surface would. A surface further from the pivot travels a greater distance, to achieve this effect,  parallax mapping moves the texture map coordinates further where the height map is "higher".

 

This technology even runs on mobile devices very well under OpenGL ES 2.0.  With all the open source available it's pretty much in the hands of everyone now.

 

If the game is set up to do this then you really only have to concern yourself with the silhouette of the model since techniques that use textures to enhance a model tend to only break down at the model's edges where the surface angle is steep.

 

You could also make multiple versions of the same model at various levels of detail,

In layer 1, you could have the lowest resolution model,

In layer 2, a medium detail model,

In layer 3, a model that is a bit excessive.

 

This technique will give you options for different requirements that people may have,  and it will also give you an edge with games that can implement LOD.

 

The only real issue here would be keeping the texture map coordinates synced up between the various levels of detail, but Blender and xNormal both can do a pretty good job of projecting the surface normals of a high poly model onto the low poly model even though the high poly doesn't have texCoords assigned. 

 

Maybe the modeling program you prefer to use also has this feature.  In Blender it's activated using the  "Selected to Active" checkbox found in the "bake" section. 

 

Even if you don't use Blender for modeling you could still use it just for this feature since it's free. 

 

If you really want to pack in the most detail possible than you really should consider mastering the art of "modeling" normal maps as well as height maps.  They tend to work very well since texture map detail is not subject to aliasing in the same the way real geometry is. 

 

Normal maps also tend to smooth out aliasing problems on real geometry at many view angles. Just not along the model silhouette.


Consider it pure joy, my brothers and sisters, whenever you face trials of many kinds, because you know that the testing of your faith produces perseverance. Let perseverance finish its work so that you may be mature and complete, not lacking anything.


#9 samoth   Crossbones+   -  Reputation: 4936

Like
0Likes
Like

Posted 10 July 2013 - 06:02 AM

Tessellation is added onto the original mesh and doesn't count to the poly budget, instead the poly budget defines the tessellation e.g.

A model of a 1000 quads will turn into 4000 at first then 16000.

 

If the poly budget is not considered then the artist could make the mistake of using 5000 quads, thinking that only one level of tessellation would be used.

Now the 5000 turns to 20000 to 80000.

This happens a lot, if you are coding the game by yourself this isn't a problem, but when working in a large team this will set you back by as much as a whole day.

 

 

But this isn't really the problem. The real problem is the one of finding appropriate level of detail. At 1080 resolution, you have 1310720 pixels, respectively 327680 4-pixel quads. Shading happens in 4-pixel quads, both because it is practical and because the existence of ddx/ddy more or less makes it mandatory.

Which means if you have more than ~600k triangles on screen, you're necessarily starting to get abusive to the pixel shading pipeline. Long before you get anywhere close to being limited by triangle (or vertex) counts, which are in the millions, you are going to feel the effect of shading the same fragment many times and only keeping one value.

 

So, it doesn't matter that much whether your object that you draw maybe 10-20 times has a puny 5,000 or 50,000 triangles. What matters is whether the LOD works well enough so in the final rendered buffer triangles aren't all 1-2 pixels large (that applies not only to triangles belonging to a mushroom or to your player, but also triangles belonging to buildings and terrain).

If your model has 50k triangles, that's mighty fine. If it has 5k triangles and looks good, that's mighty fine, too. It's not yours to worry about. A 1k model seen at some distance might still have too many triangles, and it's the LOD system's task to figure this out.



#10 Scouting Ninja   Members   -  Reputation: 714

Like
0Likes
Like

Posted 10 July 2013 - 09:22 AM


750,000 on my most detailed model, with lots of culling.

Thanks for sharing your test results, it is a very useful guide line.

 


But this isn't really the problem. The real problem is the one of finding appropriate level of detail. At 1080 resolution, you have 1310720 pixels, respectively 327680 4-pixel quads. Shading happens in 4-pixel quads, both because it is practical and because the existence of ddx/ddy more or less makes it mandatory.
Which means if you have more than ~600k triangles on screen, you're necessarily starting to get abusive to the pixel shading pipeline. Long before you get anywhere close to being limited by triangle (or vertex) counts, which are in the millions, you are going to feel the effect of shading the same fragment many times and only keeping one value.

This is great insight, I will do some research on this.



#11 Outthink The Room   Members   -  Reputation: 810

Like
1Likes
Like

Posted 10 July 2013 - 10:17 AM

 

But this isn't really the problem. The real problem is the one of finding appropriate level of detail. At 1080 resolution, you have 1310720 pixels, respectively 327680 4-pixel quads.

 

 

Doesn't 1920 x 1080 = 2,073,600 pixels? I'm curious why you used basically half the pixels of that resolution.

 

I'm not a programmer by any means, so please excuse my ignorance. I'm just trying to understand your numbers in regards to pixel counts.



#12 samoth   Crossbones+   -  Reputation: 4936

Like
0Likes
Like

Posted 11 July 2013 - 03:21 AM

 

 

But this isn't really the problem. The real problem is the one of finding appropriate level of detail. At 1080 resolution, you have 1310720 pixels, respectively 327680 4-pixel quads.

 

 

Doesn't 1920 x 1080 = 2,073,600 pixels? I'm curious why you used basically half the pixels of that resolution.

 

I'm not a programmer by any means, so please excuse my ignorance. I'm just trying to understand your numbers in regards to pixel counts.

 

Hehehe, that's because I'm stupid... I multiplied some wrong numbers. You're right, it's twice as many pixels (but still the same logical consequence, even if it is not as immediately obvious).

 

The one obvious thing is that if you have basically as many vertices (or even more!) as you have pixels at some point. The not so obvious thing is that long before you approach that limit, you already have considerable double-shading of border fragments.

 

Many people use triangles instead of full-screen quads nowadays to save double-shading the fragments on the diagonal when they do post-processing. Now imagine the same thing happening with a hundred thousand small triangles all over the scene. The more triangles you have, the more pixels necessarily happen to lie on some skew line, or on a border in general, covering only one or two pixels of the 2x2 group.


Edited by samoth, 11 July 2013 - 03:36 AM.


#13 Scouting Ninja   Members   -  Reputation: 714

Like
0Likes
Like

Posted 11 July 2013 - 05:33 AM


Many people use triangles instead of full-screen quads nowadays to save double-shading the fragments on the diagonal when they do post-processing. Now imagine the same thing happening with a hundred thousand small triangles all over the scene. The more triangles you have, the more pixels necessarily happen to lie on some skew line, or on a border in general, covering only one or two pixels of the 2x2 group.

Is this avoidable?

If I can't avoid it can I solve it?



#14 samoth   Crossbones+   -  Reputation: 4936

Like
1Likes
Like

Posted 11 July 2013 - 06:53 AM

Is this avoidable?

If I can't avoid it can I solve it?

 

 

You cannot avoid this from happening, but you can avoid it from impacting you. The way the hardware works will not change, so inevitably you will shade some fragments more than once. Up to some point, this does not matter.

 

Smaller triangles generally give a "better look", but with diminishing returns. At some point, even smaller triangles do not give any benefit any more, but theamount of doubly-shaded fragments figuratively explodes.

 

The solution is to draw everything at its proper level of detail, and for the artist this means to either generate a model that contains discrete levels of detail, or something that will gracefully downgrade with an on-the-fly LOD algorithm. Ideally, all triangles as seen on the screen are approximately the same size.

 

Your main character's or an enemy's model might very well have 25,000 triangles for the head only when you look straight into his eyes. These 25,000 triangles will cover 80-90% of the screen, so that is perfectly OK.

On the other hand, the same model (head plus body) viewed at a virtual distance of 50 meters will cover an area of the screen coparable to your thumbnail, so it probably shouldn't have more than a few dozen or at most a hundred triangles. If a thumbnail-sized area on the monitor corresponds to 25,000 triangles, you're shading every fragment a thousand times and you gain no visual quality at all (in fact, it may very well cause nasty aliasing artefacts). If half of your screen consists of thumb-sized areas of thousands of triangles, you're in serious trouble.



#15 Kryzon   Prime Members   -  Reputation: 3243

Like
0Likes
Like

Posted 11 July 2013 - 10:14 PM

The Polycount forums have some interesting resources and links.

I gave a search there, found these:

 

http://www.rsart.co.uk/2007/08/27/yes-but-how-many-polygons/

http://www.rsart.co.uk/2006/11/20/how-many-polygons-in-a-piece-of-string/

 

http://www.gamefromscratch.com/post/2011/04/21/A-question-of-power….aspx

 

http://www.polycount.com/forum/showthread.php?p=1046605#post1046605

http://www.polycount.com/forum/showthread.php?p=1051756#post1051756 (see bottom of this post.)



#16 Sooshi   Members   -  Reputation: 149

Like
1Likes
Like

Posted 19 July 2013 - 07:34 AM

For my game Zombie Bounty:Unload for Gold on iOS I had a polycount budget of about 700 for the zombies and 350 for the weapons.

 

2-7.jpg

a-3.jpg

mp5.jpg

placidRifle.jpg






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS