Whats up with large scale textures in games?

Started by
18 comments, last by Fingers_ 16 years, 9 months ago
OK I seen that the new games coming out soon in the future are going to support mega textures. So now we can do this in games? What was the hard part about creating mega textures in the first place? Yeah sure the Doom3 engine when it first came out was a hit because of it graphics and dynamic shadows, but now we are moving into mega textures? Can someone explane to me why it must take so much power just to create a mega texture if you get rid of the high graphics and bump mapping. I do know it takes the game longer to load, but why are we now just moving onto this technology?
Check out my open source code projects/libraries! My Homepage You may learn something.
Advertisement
I think the reason we are just getting into it now is because the amount of memory on video cards and in systems is finally able to hold all the data without murdering performance.
We're getting into it now because now we can use shaders to handle virtualized textures.

There's also native hardware support for it in SM4 cards.
Quote:Original post by ajm113
Can someone explane to me why it must take so much power just to create a mega texture if you get rid of the high graphics and bump mapping.
Because id's "megatextures" are in excess of 20 GB. (That won't even fit on two dual layer DVDs without compression.)
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
So umm, how difficult would it be to implement megatextres in a graphics engine?

John Carmack was geeking out about how awesome it was when he finally managed it, so I assume it's something even experienced programmers might find hard to implement.
Supposedly it's streamed on-the-fly (it's something like 32000x32000), using a fragment program to do a lot of the heavy lifting (i.e. what areas of the image to use). The engine just sees it at one giant texture, the fragment program is the important bit. It uses a very small amount of graphics memory, since the entire texture isn't loaded into RAM at once.

Terrain itself is still encoded manually in the map, but supposedly the megatexture can contain information on the different types of terrain.

In other words, it's entirely possible without being a huge performance hit, if you can be clever about it.

See here and here.
Personally, I don't understand the appeal of such texturing techniques - it has to cost a ton to create such large textures, and you can achieve virtually the same effects using a few levels of detail textures at a much much smaller resolution and memory footprint.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
A/ using lots of detail textures is gonna look worse
B/ its gonna be slower in FPS also

i believe the new version of megatexture uses 128k * 128k sized textures
i wonder how many dvds the games are gonna require?
Quote:Original post by zedz
A/ using lots of detail textures is gonna look worse[...]
Only very slightly, at least compared to every demo of megatextures I've seen. 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. (I'm talking about ground textures and not blades of grass)
Quote:[...]B/ its gonna be slower in FPS also
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.
"Walk not the trodden path, for it has borne it's burden." -John, Flying Monk
He propably has spent a lot of late evenings optimising it. Even if you have small textures, I belive they are duplicated so that it really makes up one large texture after all. I don't know how John really got it to work, but he is propably streaming it in bits...

This topic is closed to new replies.

Advertisement