What is the 'Standard' for Texture size?

Started by
8 comments, last by adam17 19 years ago
When creating a game now adays, what's considered a good 'standard' that one should not exceed in texture size? I have heard it's a good rule of thumb to keep the values equal (64x64, 32x32), but I'm also curious how 'big' I can make mine before I really run into compatiblity issues. Thanks in advanced!
Advertisement
I'm pretty sure that the standard texture size is 512*512.

-Jake
Yeah, either that or 256*256.
When texturing 3d objects, it's generally best to use power of 2 textures (newer cards don't care as much, but older ones do). I've never found any good reason not to, except with my GUI images. Anyway, the size of the texture really depends on its use. If its going on a small object, a small texture is fine. If its a big one, use a bigger texture. Also, there's mipmapping that can help preserve texture memory.

Anyway, basically use whatever looks good ;) I usually use 512x512 on my bigger stuff, but it really just depends. Hope that helps!
"Game Programming" in an of itself does not exist. We learn to program and then use that knowledge to make games.
512x512 is a fairly standard "base" size. For really big terrains and the like, you'll go to 2048x2048 -- the 4096x4096 size isn't fully compatible on modern cards. 512x512 runs everywhere, and isn't all that big; using DXT1 compression, it's only 1/6 of a meg including MIP maps.

In general, I'd worry more about how long it takes to create the texture, and how big the working set is on graphics RAM. Typically, you'll want to support 32 MB cards, where 10 MB goes away to frame buffer, desktop, depth buffer, etc.
enum Bool { True, False, FileNotFound };
Yeah, it just depends; one 512*512 texture may have more than one texture in it, but for the same object. Say a texture for a vehicle, you may have blue paint and a acura(or whatever) symbol then just map(I forget what this is called what is it agian? I know texture mapping, but isn't it called something else?) it to the section of the car that needs that piece. I think it would be good to look at some examples so here are some free ones. Click me, click me, pppppppppllllllllllleeeeeeeeaaaaaaaaaaaaassssssssssseeeeeeeeee click me!

-Jake
Ideally you'd like your textures to be big enough that, when playing at your target resolution, objects never had significantly less than 1 texel per pixel. That means your ideal texture size depends partly on what resolution you're targeting (it'll be very different for a console outputing to a regular TV at ~ 640x480 vs. a high end PC running at 1600x1200) and partly on how large the object is and on how close it typically gets to the camera. Work out the maximum size in pixels the object will be on screen in typical play and pick the closest power of 2 size that gives you roughly 1 texel per pixel in that case. Of course that's easier said than done since it depends on how the object is mapped, viewing angle and other factors that are not easily calculated but it gives you at least a rough target to aim at for maximum visual quality.

In practice you may well not be able to achieve that ideal pixel to texel ratio due to texture memory limitations and the practical difficulty of judging the appropriate texture size. That's when you start to make tradeoffs - put more detail on your main character (in a 3rd person game) or NPCs and less on environmental details that won't be the focus of the players attention most of the time. If you keep that ideal target in mind though you won't end up with daft situations like bullets that are mapped with 512x512 textures or important NPCs with cutscene closeups of a face mapped with a 32x32 texture. Typically you shouldn't be picking one texture size and using it for everything, rather you should be picking a target texel density and then using appropriate texture sizes on your models to achieve that. The only time it might make sense to pick a fixed texture size is for game elements that are all much the same size on screen (perhaps you'd pick a fixed 512x512 size for all character faces for example).

Here's a quote from the Unreal Engine 3 page:
Quote:Normal Maps & Texture maps

We are authoring most character and world normal maps and texture maps at 2048x2048 resolution. We feel this is a good target for games running on mid-range PC's in the 2006 timeframe. Next-generation consoles may require reducing texture resolution by 2X, and low-end PC's up to 4X, depending on texture count and scene complexity.

That's pretty high compared to most games on the market right now but it's what a lot of games will be targeting in a year to 18 months.

Game Programming Blog: www.mattnewport.com/blog

PC would be 512 x 512.

console, with their RAM limit and low res, 256 x 256, but 512 x 512 isn't uncommon (vehicles, hig res characters, ...). Environments tend to be more limited, because there is so many of them.

Everything is better with Metal.

Make your textures as high quality as possible and provide a shrinking routine in your engine. This will allow users to choose the resolution themselves, or you could base it off of video memory and the power of the card. I have mine set at 128x128 for low quality, 256x256 for medium, and 512x512 for high. I would have went much higher, but I just didn't think the view distance deserved it compared to how much hard drive space it would consume.


Quote:Original post by Instruo
Also, there's mipmapping that can help preserve texture memory.

Mipmapping does not preserve texture memory. A full chain actually uses about 30% more of it.
personally im authoring alot of my textures at 1024x1024. yeah its alot of memory, and yeah it can make a card choke, if the engine isnt optimized, but dammit they look good lol

This topic is closed to new replies.

Advertisement