Question about low-poly

The place for artists, modellers, level designers et al to discuss their approaches for creating content for OGRE.
Post Reply
sarge
Gnoblar
Posts: 22
Joined: Wed Dec 14, 2005 10:27 pm

Question about low-poly

Post by sarge »

I have heard the terms high-poly and low poly thrown around a lot as I have been learning to model for game content.

Not sure there is such a thing. But is there a general polygon count that most here would consider the max you would do for a game character? In my game there could be up to 20 different characters at any time. This would of course be highly unlikely, but I am designing it with that max in mind.

Also, I notice that in blender, if you have a face with four verticies or a face with three, each is still considered one face. But when each is being rendered, wouldn't a sqaure face be treated like two triangle faces?
Joshua
Halfling
Posts: 90
Joined: Thu Dec 15, 2005 7:46 pm

Post by Joshua »

It depends on several things, including the amount of LOD levels you have and their intensity, the shaders you will be using, and the techniques for implying detail (normal/parallax etc). More importantly than those, are your particular game's budget and goals.

As an example of what we consider the high end, our game's characters range between 10k and 13k tris for the nearest LOD levels with normal maps based on models upwards of 7 Mil.

You need to be aware of the exact budget allocated per character by a director/ art lead.
User avatar
Jerky
Orc Shaman
Posts: 791
Joined: Wed Mar 02, 2005 4:13 am
Location: Springville, Utah
Contact:

Re: Question about low-poly

Post by Jerky »

sarge wrote:I have heard the terms high-poly and low poly thrown around a lot as I have been learning to model for game content.

Not sure there is such a thing. But is there a general polygon count that most here would consider the max you would do for a game character? In my game there could be up to 20 different characters at any time. This would of course be highly unlikely, but I am designing it with that max in mind.
It would depend on what else is going to be in your scene, but that is the beginnings of a polygon budget. I, and others here, can explain more in depth if you like, cause it is better to understand the concept behind something, but if you just want a number go with 3-5000. I have seen that number thrown around a lot and it is definitely considered low poly. The trick that most people use in this generation of games is to make a low poly model, subdivide it to make a high-poly version. They then use the high poly version to generate a normal map, which makes your low poly version look like the high poly version, so it "cheaper."
sarge wrote:Also, I notice that in blender, if you have a face with four verticies or a face with three, each is still considered one face. But when each is being rendered, wouldn't a sqaure face be treated like two triangle faces?
Exactly right. Modeling tools have the capability of having many sided (n-gons) polygons. Graphics card deal with triangles and only that. So, most tools have a triangle counter so you can see exactly what a game engine (or your gfx card) would use.
Erik Briggs (Jerky)
My Blog
Project Wish
Image
sarge
Gnoblar
Posts: 22
Joined: Wed Dec 14, 2005 10:27 pm

Post by sarge »

Damn, way above my head.

I do this as a hobby. I'm actually an embedded systems software engineer.

I'm only doing the modeling myself because someone has to do it. But as I have picked it up it has become pretty fun.

Unfortunately I don't know what you mean by LOD levels.

I also don't know how to generate normal maps, to say nothing of doing it with a high poly model and applying it to the low poly version.

I can do a pretty good job creating a good mesh, and I can apply textures using UV texture mapping. But that is about were my level of knowledge ends!
Currently, my character has 4100 triangles. But I know I can reduce that without any loss in detail. This is becuase I used subsurfs to get a good shape and have been removing unnecessary mesh detail.

Two months ago I told myself I would create a model quickly to start working in the game. Now, after playing with Blender, it seems I am more interested in creating a cool looking model :-)
User avatar
Kentamanos
Minaton
Posts: 980
Joined: Sat Aug 07, 2004 12:08 am
Location: Dallas, TX

Post by Kentamanos »

LOD (Level of Detail) is basically just creating lower resolution models (potentially multiple models based upon how much screen space your model takes up) when the object is further away. For instance, if your model is way out in the distance, it doesn't make sense to still be using a 4100 triangle version of it when it only takes up 10 pixels on the screen :).

Do a google search on creating normal maps. Many 3D editors have a way to do it. The basic premise is you're creating a texture that will simulate more detail than what you have triangles for. It's created by using a high resolution version of your model as a reference. Take a look at NVidia's Melody for instance to see a stand alone tool that does this (ATI has one too, can't remember the name at the moment).

Getting sidetracked and wanting to make a model look as cool as you possibly can (and creating something not suitable for real time renderring) is a dangerous siren call :).
Joshua
Halfling
Posts: 90
Joined: Thu Dec 15, 2005 7:46 pm

Post by Joshua »

ATI's is called Normal Mapper, but I have a better one to recommend:

http://www.santyesprogramadorynografist ... jects.aspx

And as a plus, it doesn't crash or require lame formats like the other two. We use this along with ZMapper for our normal map generation.
kneeride
Bugbear
Posts: 807
Joined: Sun May 14, 2006 2:24 pm
Location: Melbourne, Australia

Post by kneeride »

sarge, if you are looking for a straight answer (without any of the variables considered), a quote from paul steed:
In most cases “low-poly” refers to less than 1,000 triangles, but today with
the proliferation of 3D accelerator cards and faster CPUs low-poly is becoming an almost antiquated term

For example, if the character being designed is going to be in a game like Quake III: Arena or Unreal Tournament, it can be up to 2,000 triangles and still work. But, unless you have the latest machine with the latest pimped-out 3D accelerator card,you’ll experience a serious performance hit if the character is much bigger than the normal 800-polygon range
User avatar
SuprChikn
Bugbear
Posts: 863
Joined: Tue Apr 19, 2005 6:10 am
Location: Melbourne, Aus
Contact:

Post by SuprChikn »

How old is that quote? Q3A came out at the end of '99, and hardware has changed a lot since then.
kneeride
Bugbear
Posts: 807
Joined: Sun May 14, 2006 2:24 pm
Location: Melbourne, Australia

Post by kneeride »

SuprChikn wrote:How old is that quote? Q3A came out at the end of '99, and hardware has changed a lot since then.
quote was from: modelling a character in 3ds
published 2002.

my graphics card is pre 2002 :S
User avatar
SuprChikn
Bugbear
Posts: 863
Joined: Tue Apr 19, 2005 6:10 am
Location: Melbourne, Aus
Contact:

Post by SuprChikn »

OK, so that's about 4 years ago.

According to Moore's law, computing power roughly doubles every 18 months.
User avatar
Sycle
Halfling
Posts: 45
Joined: Sun Jun 11, 2006 8:21 am
Location: Sydney

Post by Sycle »

It's probably easiest to think of high poly and low poly as being 'offline rendering' and 'realtime', respectively, in that the biggest difference is generally in modelling technique.

'High poly' models can often be as made from any number of unoptimised objects, using a variety of UV wrapping methods, while low poly strives for efficiency and elegance and as few sets of UV coordinates as possible.

It's hard to give an arbitrary poly count, because it depends on your platform and game type (ie, an RTS vs a 1 on 1 fighting game) but a good looking FPS characters should run about 3,000 to 7,000 polygons for last gen / current gen platforms.

A good approach is to have a test character, work out the kind of distance you expect to be seeing them from, and work out the detail you need from that. Just maintain a nice consistent level of detail and mesh density, add polys in the large areas or places the silhouette is looking too sharp and remove them in the small/dense areas till it about balances out. A more uniform mesh will light and deform better too.

And polycount / facecount always (somewhat confusingly, considering by definition polygons aren't just triangles) refers to triangles.
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

And it is complete nonsense to say that a model more than 2,000 polys will degrade performance as much as they claim. On modern hardware, with a renderer that is *designed* for modern hardware, poly count is far less important than batch count -- you can render 1,000,000 polys at 500fps in, say, 1,000 batches of 1,000 polys, or you can render 1,000,000 polys at 50fps in, say, 10,000 batches of 100 polys each.

You really have to understand the context in which quotes exist; at one point Bill Gates' most famous quote was that no one would ever need more than 640K RAM. Does anyone point out that quote as "proof" or "advice" relevant at all in 2006? The same is true of this topic. Why do we consistently dig up old, irrelevant articles or quotes when looking for advice? My suggestion: if it is more than 18 months old, it probably is outdated.

Manage your batch count, not your poly count. If you are using Ogre, you don't even really need to worry about a lot of other things that could affect your framerate. The primary factors easiest for you to manage on modern hardware with Ogre are:

- batch count
- pass count
- hardware fillrate
- video memory usage

(I'm sure I've left some out but these four will get you 90% of the way). Notice that "poly count" is not listed.
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

kneeride wrote:
my graphics card is pre 2002 :S
The GeForce3 came out in what, 2001? The GeForce 3 has little or nothing in common with, say, a RIVA TNT or Voodoo3, so you would have to be more specific than "before 2002". Does your card support only hardware T&L? Programmable shaders? How many vertex processors are on it? How many pixel pipelines? How much video memory? AGP bus speed? The GeForce 3 is still a decent card even today.
kneeride
Bugbear
Posts: 807
Joined: Sun May 14, 2006 2:24 pm
Location: Melbourne, Australia

Post by kneeride »

lol. i dont think it has much. i know it has 32meg ram
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

Probably a TNT32 or GeForce2 GTS 32. Do

My Computer --> (right mouse) --> Manage --> Device Manager --> Display Adapters

and it will tell you what it is.
kneeride
Bugbear
Posts: 807
Joined: Sun May 14, 2006 2:24 pm
Location: Melbourne, Australia

Post by kneeride »

It's a Rage Fury Pro/Xpert 2000 Pro

...don't laugh. i'd hate to think what's in my laptop.
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

*shrug* It might not run GPU shaders but at least it works with Ogre. I don't know what your budget is like or your access to hardware, but if you can scrape together $40 or so you could probably pick up a GeForce MX 440 or something, at least something that is programmable -- you would get a lot more enjoyment out of Ogre I think. ;)

http://www.ati.com/products/faqs/rage128profaq.html#9
kneeride
Bugbear
Posts: 807
Joined: Sun May 14, 2006 2:24 pm
Location: Melbourne, Australia

Post by kneeride »

i do plan upgrading my graphics card.

i have upgraded everything else.
800mhz CPU to 2,500
128 ram -> 512
30gig disk -> 250

wouldnt mind spending $150 on a card
and maybe get another 512 ram
sarge
Gnoblar
Posts: 22
Joined: Wed Dec 14, 2005 10:27 pm

Post by sarge »

Thanks for the input.

What I have been doing is using the example application, I have added 20 characters to the scene I have created for the game and monitored the frame rate.

If I'm not mistaken, just the act of printing the framerate out to the screen lowers the frame rate.

I have to learn the LOD stuff and how to do it. I think it will be a huge help if the detail of the character goes down with distance.

For my character, I am going to shoot for 3000 for now.

My framerate with my PC (2.4 gig, 1G ram and a Geforce 4) has been about 60 with 20 characters all in view along with the majority of the scene.

What worries me is my lighting totally sucks at this point. I really want a better looking out door lighting, but it isn't close to as good as it should be.
Outdoor lighting is much harder then I figured.

My fear is that as my lighting gets better, my frame rate will go down even more.
User avatar
NeOmega
Halfling
Posts: 86
Joined: Mon Apr 04, 2005 2:30 am
Location: Washington State, USA

Post by NeOmega »

http://forums.cgsociety.org/showthread.php?t=129627

Here is what I consider to be an excellent thread on high-poly lo-poly and normal mapping
User avatar
xavier
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 9481
Joined: Fri Feb 18, 2005 2:03 am
Location: Dublin, CA, US
x 22

Post by xavier »

sarge wrote: If I'm not mistaken, just the act of printing the framerate out to the screen lowers the frame rate.
It doesn't. One textured quad is not going to make any difference in frame rate.

If your framerate is unacceptable now, you should look into the things that make an actual difference, such as those I listed earlier. You are still concerned with polycount, probably for no reason, when you should be looking elsewhere for your bottlenecks.
Post Reply