Whats up with large scale textures in games?

Started by
18 comments, last by Fingers_ 16 years, 8 months ago
Quote:Original post by Extrarius
To me, it seems silly to have hundreds of megabytes of grass textures when grass is grass. One small grass texture (say 512*512) combined with two detail textures (each the same resolution, but one at 1:64 scale and one at 64:1 scale) will look good except from very, very far away.

Is it not possible to tile texture coordinates and re-sample the same small (grassy) part of the mega-texture? Or does each vertex need a unique texture coordinate? It does seem a waste if you can't re-use tex-coords.
Advertisement
Quote:I don't see how this is possible, since detail textures take much less memory and won't need to be swapped out nearly as much, so bandwidth use will be lower, cache hits higher, etc.
with mesgatexture u only sample the one texture, otherway u have to sample multiple textures + combine them.
i can see artists really loving unique texturing (much easier)
Quote:Original post by dmatter
Quote:Original post by Extrarius
To me, it seems silly to have hundreds of megabytes of grass textures when grass is grass. One small grass texture (say 512*512) combined with two detail textures (each the same resolution, but one at 1:64 scale and one at 64:1 scale) will look good except from very, very far away.

Is it not possible to tile texture coordinates and re-sample the same small (grassy) part of the mega-texture? Or does each vertex need a unique texture coordinate? It does seem a waste if you can't re-use tex-coords.
If you re-use tex-coords in such a manner, what are the benefits of a megatexture in the first place? My understanding was that the point was to have as much unique texture as possible. If you don't mind using 'standard' (by which I mean well-known but AFAIK not-often used well) methods for grass, why not use them for rock, wood, skin, etc? Where do you draw the line, and what benefits do you gain from doing so?
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
Quote:Original post by zedz
Quote:I don't see how this is possible, since detail textures take much less memory and won't need to be swapped out nearly as much, so bandwidth use will be lower, cache hits higher, etc.
with mesgatexture u only sample the one texture, otherway u have to sample multiple textures + combine them.
i can see artists really loving unique texturing (much easier)

I doubt that a few additions and texture lookups in a shader will offset the massive work required to load and stream a 32k x 32k texture.
NextWar: The Quest for Earth available now for Windows Phone 7.
Quote:Original post by zedz
Quote:I don't see how this is possible, since detail textures take much less memory and won't need to be swapped out nearly as much, so bandwidth use will be lower, cache hits higher, etc.
with mesgatexture u only sample the one texture, otherway u have to sample multiple textures + combine them.[...]
Since graphics cards are designed to do exactly that, I don't see how it'd be slower than reading from slower memory.
Quote:[...]i can see artists really loving unique texturing (much easier)
From the perspective of being straightforward to create, maybe, but having to create hundreds of times as much texture has to slow the process down somewhat.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
Quote:Original post by zedz
Quote:I don't see how this is possible, since detail textures take much less memory and won't need to be swapped out nearly as much, so bandwidth use will be lower, cache hits higher, etc.
with mesgatexture u only sample the one texture, otherway u have to sample multiple textures + combine them.
i can see artists really loving unique texturing (much easier)


I'm not sure they will be loving it, it very much depends on the pipeline and tools
Quote:Original post by Extrarius
Quote:Original post by zedz
Quote:I don't see how this is possible, since detail textures take much less memory and won't need to be swapped out nearly as much, so bandwidth use will be lower, cache hits higher, etc.
with mesgatexture u only sample the one texture, otherway u have to sample multiple textures + combine them.[...]
Since graphics cards are designed to do exactly that, I don't see how it'd be slower than reading from slower memory.
Quote:[...]i can see artists really loving unique texturing (much easier)
From the perspective of being straightforward to create, maybe, but having to create hundreds of times as much texture has to slow the process down somewhat.

IIRC iD said they have some kind of tool to autogenerate the initial terrain texture based off of reference textures (grass, rock, etc.) and terrain slope/height/etc. That'd give you quality identical to texture splatting + detail textures. Then the artists start from that to paint on the unique detail.
Quote:Original post by OrangyTang
[...]IIRC iD said they have some kind of tool to autogenerate the initial terrain texture based off of reference textures (grass, rock, etc.) and terrain slope/height/etc. That'd give you quality identical to texture splatting + detail textures. Then the artists start from that to paint on the unique detail.
I'd love to see a diff image between the autogenerated texture and the final result of the artist's modifications. It would definitely help me understand why they're an improvement over the 'standard'(well-known but rarely well used) techniques.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
its not gonna be that hard to create a 32x32 or 128x128 sized texture
yould start off with either

A/ some texture generated with terragen or similar program (id no doubt have written one)
B/ actual satellite/plane photos of landscape

and then let the artist sex them up ( if necessary )

Quote:I doubt that a few additions and texture lookups in a shader will offset the massive work required to load and stream a 32k x 32k texture.
i remember reading somewhere that is not as intensive as it first appears, also the engine streams in data at a distance at a lower resolution (thus requiring even less texture memory with unique texturing than standard methods)
I think the main advantage of unique texturing is when you add layers on top of what you'd get from splatting etc... Roads/tire tracks, walk paths, water erosion patterns in gullies, bomb craters etc. A lot of these can be procedural as opposed to "hand-drawn" too, the point is you can add absolutely anything you can think of onto the surface without any performance penalty; the layering can be infinitely deep when it's not done in real-time. A real-time splatting system doesn't scale as well, it's limited by how many texturing units the video card has and how many texturing passes you can afford.

This topic is closed to new replies.

Advertisement