Upper Texture limit


#1

When aiming for the lowest common denominator on 3d cards, what is the upper texture limit you go for? I was under the impression one should not go beyond 512x512, however other people I hear go even higher.

BTW, on a side note, what is the normal character vert count you go for?


#2

I’d personally stick to producing 512x512 textures. Anything above is going to use up Video ram like Grannys attending Championship Bowls sessions…:rolleyes:


#3

I think you should aim for the higher end 3d cards when deciding texture sizes, which currently would be 2048x2048. The reason I say this is because games always have a texture detail setting, which simply resizes the texture down for those with older cards, so even though the original texture might be 2048x2048, someone with an older card who turns the texture detail down to medium or so will only have a 512x512 downsized version of it uploaded to his/her video card. Of course a 2048x2048 texture takes up a lot of harddisk space so that’s another thing to consider, unless the game you’re making textures for allows you to DXT compress them or something, like the Unreal Engine, which cuts down on the file sizes big time.
Dan


#4

Well that is somethin positive. I take it a card that does not have enough memory will sample down a 1024x to 512x image? But doesnt that take time to compute, and hence slow down the game?

On a side note, I’m supposed to model a house/apartment. Now Im wondering how one would normaly go about this. I could put the walls carpets etc all in 1 uv map. HOWEVER, I imagine, that craming everything in there would end up with only 20x20 or so pixels for a rug. Now a floor in a game will look much bigger so the carpet will be pixelated to hell. Is there a simple way to make the texture repeat onto itself, or is the only way by adding more verticies into the floor and then mapping by hand the repetitions during uv mapping? It seems kind of ironic that in games we try and keep down the verticies to save on speed, yet here we have to add them on a floor despite it wont add any more geometry!


#5

Packing textures is an optimization method to speed things up. However in some cases it doesn’t make sense, like your apartment scene. Better to tile a single small seamless carpet texture across that floor.

In just about all games, levels use tiled textures, while characters use the carefully packed textures.

In a decent game engine, as soon as no triangles use a particular texture, that texture is dropped from memory and others are loaded in. Packed textures allow the game engine to reuse a texture that is sitting in memory, as long as there are triangles being drawn that use that texture.

When you pack a bunch of textures into one, that means the engine has to fetch textures less frequently, which leaves more room in the video bus bandwidth to send other data, like verts or shaders, which can speed things up.

I think that’s right. Shoot me if it ain’t.


#6

Ok thanks. I think i’ll have to take the best of both worlds and hopefuly the trade off wont be too harsh on me for the level designs.

BTW, I have been thinking, when people model cars, they tend to use the textures for the wheels in the same map. Even if these wheels are not physicaly attached I assume this method is still important because as you mentioned, the BUS will have a lower bandwidth, even if no cloning of verticies is needed where seperate materials may border.


#7

True, and perhaps more importantly, when you use just one wheel texture you will have more room in texture memory for other textures, instead of taking up that room with three more wheel textures.

Same goes for other parts of the cars, like interiors. Here are some examples I worked on awhile ago that might help, if you’re doing interiors that is…

http://www.ericchadwick.com/portfolio/html/chadwick_motorcity_directed.html


#8

Oh, and about resampling textures to smaller sizes… most engines will do this ahead of time, when the level is being loaded or the game is being installed. So it really only increases load time, not render time.


#9

Posm, thanks for the tips. I was also thinkin today how much faster just using a base material is compared to useing a texture with that material. For example, assume you have 2 planes. One is textured the other is just a material. I assume the non-textured one would be a larger magnitude faster to work with as it does not need to FETCH a texture, just a simple material color.

But how MUCH faster would the simpler’ plane load compared to the other?


#10

Maybe slower actually, but that totally depends on your game engine. Ours creates a 1x1 bitmap from the material color, using that in the engine for the surface color. Takes a little time, not much.

Also with a texture that’s larger than 1x1, most engines create the MIPs for it at load time. Some texture formats let the artist pre-create the MIPs and store it in one file, for example the DXT format. Then there’s less load time.

But again, totally depends on your engine, and your hardware. What is handled on the hardware side? How robust is the engine?


#11

About patching several small textures into one larger one: It seems that this is the reason why the people at Valve were having problems with their Antialising for Half Life 2. I guess the current GPUs will sample pixels from around the part of the texture that is meant to be shown and that ends up making some wierd looking artifacting. Supposedly there will be efforts from both Microsoft and the GPU vendors to correct this issue but it’s still something to think about.


#12

Hmmm. I haven’t read much about Valve’s AA issue. But I would think with the talent and experience they have they would be aware of this edge-filtering issue, how easy it is to fix.

It is pretty easy to solve, you just need to smear the edge colors out a few pixels. In 3ds max 5, the Render to Texture utility has a spinner called Edge Padding that does this automatically for you. Very handy. Or you could just paint a little over your edges when painting the texture. Works well.

Most texture baking tools do it too.


#13

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.