Game Development Community

Texture options

by Kip Carr · in Technical Issues · 06/10/2005 (9:30 am) · 7 replies

Im not much of a 3d artist or graphics expert but I had some questions on textures. Ok here is the scenario.

In the first scenario you have this image that is 256x256 and is a single brick image(one brick for the whole texture). In this case the image will be tiled many many times to fill up a single wall to have a correct scale.

The next scenario is a larger 1024x1024 texture of several bricks. This will only have to be tiled a couple of times if any.

Now I know there is obviously a memory thing here with the texture size but i want to know if there is any/ a lot of overhead or processing time needed to tile an image.

Which case would be better? What are the draw backs and benifits to each?

Any informatoin on how this works would be great.

#1
06/10/2005 (9:50 am)
Both seem like a terrible waste of memory space IMHO, but if I had to choose one, I'd say that the single 256 x 256 image would probably produce better performance results.

The question then would be, WTH do I need a brick that big for?! \C:~
#2
06/10/2005 (11:19 am)
Well if your brick was that big then you could walk all the way up to a building and it would still be very detailed allowing very nice looking FPS type of games. Where as the 1024 image would look like crap close up because the pixels per inch is very low compared with the other.
#3
06/10/2005 (11:40 am)
What is normally done here is use of LoD (Level of Detail), where you actually have several models for any particular structure, decreasing in detail. If they are properly named and configured, the engine will automatically display the most appropriate available model based on the screen height (in pixels) of the object based on the camera's position. This allows for very high performance when a large amount of viewable objects are in field (but far away, therefore "small" on the screen), while also allowing you to get greater and greater detail as you move closer.

Kirby's point is valid though--normally when working with .dif's, you don't use a single texture for something down at the brick level, but a texture (or in TSE's case, material) for a brush--which in this case would be a "wall", with the individual bricks being part of that brush.

You will certainly drastically limit your number of viewable shapes in a scene if you are applying individual textures to each and every component of a model--and you don't need that type of application in any case: it looks quite good with using the brush concept!
#4
06/10/2005 (2:16 pm)
You are going to get a *lot* better result with tiling a 256x256 texture than with a single 1024x1024. The 256x256 is going to use a lot less texture memory (it stores they texture once and samples from it multiple times) and will use a lot less of your AGP/PCIE bandwidth when it downloads to the video card.
#5
06/10/2005 (3:00 pm)
Yep.
also look into detail textures
if you want it to look real good both up close and far away.

the terrain uses detail textures.

i'm not sure how easy it is to put those in to stock torque
but i'm sure TSE can handle them.
#6
06/10/2005 (4:36 pm)
Um, with the single brick thing. Tiling a single brick at high res is a bit silly. For one thing how much screen space is a brick going to take up in your camera at its largest?

Most people still play at 1024x768 resolution, consider how big the brick is going to be on the screen at it's largest, and you should never have to use a texture larger than that.

Like everyone else I'd have several bricks in a 256x256 texture though, that way you have a little brick variation that goes a long way to making your wall more interesting. Nothing worse than a wall made up of the exact same brick
#7
06/13/2005 (5:30 am)
So tiling a smaller image is always better than having one big image it seems

I know the one brick thing was a bit much but I was trying to use the extremes. For FPS type games i have always hated walking up to a buildings and the wall looks like uter crap due to the resolution of the texture. I figured this could be fixed easily with a smaller texture but tiled more. So instead of having a 256x256 represent 10 bricks by 10 bricks have it represent 5 by 5 bricks to increase the resolution of the texture without increasing the texture size or amount of memory used. I know that if you decrease it to 1 brick it gets a bit silly due to the tiling looking too similar.

To fix something like that would it be possible to put another 256 x 256 texture stretched over the whole surface to add "grime" if you will. If this was set up to only occur on the highest LOD and was a small texture just to add this i dont think it would take up much more memory and would still be much better than having a 1024x1024 texture to look less tiled.

Just kind of talking here but does this make since?