View Full Version : 3D Models and the number of Polygons
Sean Doherty
06-17-2004, 04:47 AM
If you had the choice between
- texture models of about 1000 polygons
- or texture models of 2500 polygons (twice the price)
What would you say? I know if depends a lot on the quality of the texture and probably the game.
Feedback please?
dreeze
06-17-2004, 06:40 AM
It's completly dependent upon the game =)
I voted for what I will probably use in my game.
Sean Doherty
06-17-2004, 07:14 AM
Originally posted by dreeze
It's completly dependent upon the game =)
I voted for what I will probably use in my game.
Here is a screen shot; does that change your vote?
www.FreelanceGames.com/Graphics/StarCry-S4.jpg
gilzu
06-17-2004, 07:23 AM
sorry, but if its for a Homeworld type of game, i think that 1000polys is too much. think of the slowdown in including >100 (if not more) units on a mid level game.
check out homworld and see that the simple units are well under 400polys and only the motherships are 1000. just a thought, i dont want you to get stuck with models&texture you paid for, but you cant use with gfx cards lower than gf3.
Sean Doherty
06-17-2004, 07:28 AM
It's a Starfleet Command or Freelancer style of game; generally there would be less than 10 objects on the screen at the same time.
Also, I don't care about Graphics cards below todays entry level
cards.
Wayward
06-17-2004, 08:56 AM
Use LODs.
Sean Doherty
06-17-2004, 08:58 AM
Originally posted by Wayward
Use LODs.
Do you mean; buy both?
Coyote
06-17-2004, 09:19 AM
Yup... provide a 2500-poly version, one with half that, one with a quarter that, and one with an eighth of that. Either that, or make sure the models are set up for some nice C-LOD scheme so that they can drop any number of triangles gracefully.
Sean Doherty
06-17-2004, 09:27 AM
@Coyote,
Ya that is what I though he meant. That probaly not going to be within my bugdet unless I pull the verticies off the models myself.
So lets assume I am going with one model is 1000-1600 polygons going to be enough for closeup shots; or do you need say 2500 polygonss?
I notice that a lot of the stuff at www.3drt.com is a lot less then 2500 polygons?
MiceHead
06-17-2004, 09:49 AM
If you had the choice between
- texture models of about 1000 polygons
- or texture models of 2500 polygons (twice the price)
What would you say? I know if depends a lot on the quality of the texture and probably the game.
I think you'll have a gut feeling for that once you have most of the gameplay and effects down, but not before. Consider that your framerate will drop due to AI calculations, audio, interface drawing, particle effects, and shader effects. You can also trade between particle/shader detail and a model's polygonal complexity. You might find that 2,500 is a low estimate, especially if you're plotting a dozen ships. Your polygon budget also goes up significantly if, as Coyote says, you use LoD.
Feedback please?
While you're working on your title, in-house, consider "borrowing" some nice-looking models. (Maybe that's what you're doing already with the Minbari ship.) It's been my experience (http://www.dejobaan.com/inago) that polygon budget varies wildly. If you have the luxury, set it only towards the end of production.
dreeze
06-17-2004, 12:48 PM
If you want slow nice looking close ups you could go with 2500 IF the artist really uses all the polygons (look at www.polycount.com to see some good and bad examples of polygon use). Since ships don't need to use any kind of skinning (I guess), you shouldn't have any trouble at all performance wise.
Nemesis
06-18-2004, 12:27 AM
In most cases, using in-game models > 1000 polys is murder IMHO, especially when there's several of them on screen and when they actually occupy only a small part (< 1/4) of the screen
With some clever modelling and texturing you can get very good results with 200-400 polys easily.
Jim Buck
06-18-2004, 12:36 AM
A good rule of thumb I like to think about is to make sure that there aren't so many polys that, on screen, each one isn't just trivially rendered as a pixel (or even sub-pixel). So, you want your number of polys to be <= number of pixels it will typically get rendered at (assuming the distance to the camera of the object is relatively constant). Anything more than that, and it's a waste. (This same philosophy applies to textures sizes as well.. no need to store more texels than will typically get seen.)
Sean Doherty
06-18-2004, 03:48 AM
The following are some examples of the number of polygons needed based on what you are saying?
www.FreelanceGames.com/StarCry/Dex/Q1.jpg
I know you said less than; but in all cases the polycoount calculation look a bit high?
So how much less than is a good factor?
Sean Doherty
06-18-2004, 04:17 AM
Are you sure, I tested it:
www.FreelanceGames.com/StarCry/Dex/Q1.jpg
Jim Buck
06-18-2004, 07:03 AM
Oh, I didn't mean it to be a literal formula. I just generally meant that when a model gets rendered on the screen, if the total number of pixels it gets rendered as is less than the number of polygons, then it's quite possible many polygons were really just wasted and did not contribute to the final image. (Of course it depends on the size of the polygons - the tiny slivers may have resulted in being smaller than a pixel while huge polygons could have been rendered as a bunch of pixels.)
It's just something to keep in mind to get an idea of how detailed the model could/should be.
As a quick example, if you have a 1000 polygon model that is far enough away from the camera most of the time that it only gets rendered onto the screen as a 100-pixel "blob", then you are most likely far better off going with a model that had no more than 100 polygons - and probably should be far less than 100 even.
It's the same with a texture map. If you have a 128x128 texture map, but it's usually getting mapped onto a polygon that is around 32x32 pixels large, that's 75% of the texture map that is unused (not accounting for bilinear filter contributions of the unused 75%). In this case, you could be better off just creating a good 32x32 version of the texture and using that instead. It would save you download size, user's hard drive space, user's texture memory, rendering time, and will give you a more control over the final image.
It completely depends on the game and the models/textures invovled, though. I looked at the example you linked to, and just to take the middle model as an example..at 290x115, yeah, it should be less than 16k polys..and, REALLY, it should be FAR less than that. 16k polys is even quite a hefty load for a model that would be getting displayed at that size..an artist should be able to have something that looks no different for anywhere from a few hundred polys to no more than 1000. (Take that with a grain of salt as I'm not an artist, but it's just my guesstimate.)
Scrambled
06-18-2004, 11:02 AM
I was just thinking it might be possible instead of going for a high poly count on the ships (which will cost you more in artist fees / time I'd guess) to have a look whether you could use e.g. dot product 3 bump mapping on the surfaces, which could give you a nice look without many 'art creation' needs.
e.g.
Texture Stage 0 - normal map
DP3
Texture Stage 1 - diffuse texture
As you wouldn't need to take into account movement of the polys relative to each other (as i'd guess the spaceships are mostly static) you could use DP3 on quite old DX7 class hardware as there is no need for vertex shaders (I use a a geforce 1 for development).
That would give you a good situation - low art requirements, good looking ships when close, and no need to do much LODing (as DP3 is fill rate limited rather than poly count, and the fill rate decreases as the ships get smaller in the distance anyway).
gilzu
06-18-2004, 11:49 AM
That would give you a good situation - low art requirements, good looking ships when close, and no need to do much LODing (as DP3 is fill rate limited rather than poly count, and the fill rate decreases as the ships get smaller in the distance anyway).
LOD implementation is quite simple in relation to DP3.
its a simple nested if to check how close the model is, and render it on the screen.
also notice that 3d card speed is measured by how many trigs you draw per frame.
[addendum]
I didn't want to sound negative, its just that i've been through this road before with Goose Chase (http://www.gilzu.com/). at first, when i tried the engine, I used models with 1000-1500 polys so i would know how many my engine can handle. then, my graphic artist advised me to use models with far less polys. Now it uses models <600-700 polys, when there arnt more than 10-12 on the screen. the frame rate is just enough with cards like gf2, but it gets a little slow on voodoo3 or emulation.
You see, i spent alot of money on graphics for my game, and now i'm about to do even heavier investment for my next game. I think its important to know exactly what you need when you pay for such important things. you dont want to get stuck with models that will make your game go at 10fps, and then think of giving them up because you payed for them.
I might of not did that mistake, my game works great and i'm very pleased from my models, but when I saw your post, i thought about what would have happened if i had wanted 1000-1500 poly models and got stuck with it. I didn't take into account AI calculations, special effects and game phisique. I took the net fps without all of those without thinking. I got lucky to meet a graphic artist who advised me, just thought i should say the same for you.
so if i sounded negative, its just beacuse i didn't want you to get bummed out, sorry anyway :(
IMHO 1000 polys for spaceships/planes/etc. is a waste, even for the most complex LOD. You should be looking at around ~400 or lower. See if you can find another art provider who can get you some more optimized models.
Also, all of Jim Buck's comments on textures are dead on. Make sure you ask them for mipmaps, or start thinking about a tool to generate them for you. They will facilitate better texture cache performance and make your game look better; double win.
Now let's all boo ATI in unison for not supporting palettized textures :D
BongPig
06-21-2004, 02:10 AM
Sean,
From the looks of your screen shot, the models look unlit. Is this the case?
If so, then there really is no point using anything more than a few hundred polygons, regardless of how close you get, as the polygon detail cant be seen except at the edges. Its the textures that make the biggest difference on unlit polys. Thats where you should focus.
You may of course be planning to put lighting in there, in which case it'll be hard to judge the poly counts untill we see a shaded screenshot.
Whats the plan?
Sean Doherty
06-21-2004, 05:02 AM
@BongPig,
What would you recommend? I have seem other post where people say so should turn off all the lights and the just create on or two directional or point light to represent the sun?:)
BongPig
06-21-2004, 06:49 AM
I dont understand your question Sean.
You need to tell us how you plan to light your game. From the looks of your screens, the game is completely unshaded.
Is that the way its going to stay?
Wayward
06-21-2004, 07:38 AM
I'm guilty of the previous post regarding the lighting.
My suggestion, which I'm not sure you've fully understood, was not to turn off all the lighting. The suggestion was to make your ambient light black so the other directional lights illuminate your models with maximum contrast.
One possible set of lights for 'space-lighting' might look like this:
AmbientLight = RGB(0,0,0);
MainDirectionalLight = DIR(2,3,4), RGB(255,239,223);
SecondaryDirectionalLight = DIR(-1,-2,-3), RGB(47,63,127);
Then use a few point lights with falloff for engine and weapon glow.
Wayward
06-21-2004, 07:45 AM
Example:
Sean Doherty
06-21-2004, 08:26 AM
I mis-typed the previous post; I meant to say; turn off all ambient lighting.
Wayward, I will give your suggestion a try in the next week or so.
Thanks
Sean Doherty
06-21-2004, 08:45 AM
@gilzu,
My minimum processor and video card requirements are much higher than you have for Goose Chase. At the present time, I have decided to go with 1000-1600 polygon models. If there are performace problems, I will probably implement a LOD system.
However, right now I am mainly concerned with improving the quality of the graphics, lighting, and get the game release.
Along with a couple of hundread other things.
gilzu
06-21-2004, 09:32 AM
Originally posted by Sean Doherty
@gilzu,
My minimum processor and video card requirements are much higher than you have for Goose Chase. At the present time, I have decided to go with 1000-1600 polygon models. If there are performace problems, I will probably implement a LOD system.
However, right now I am mainly concerned with improving the quality of the graphics, lighting, and get the game release.
Along with a couple of hundread other things.
np, it was just a suggestion, just wanted to help :)
Sean Doherty
06-21-2004, 09:52 AM
Thanks Gil