Carmack on MegaTexture technology
Published by marco on
A recent article about Quake Wars: Enemy Territory mentioned that it was using the latest and greatest of rendering technologies from id Software, called Megatexturing. This Q&A with John Carmack includes more details on the development, timeline and features of this technology. He sees Megatexturing as a natural extension of texture memory management into the virtual space, as is already done for graphics memory and system memory. He’s quick to note that there is nothing groundbreaking about the idea, but that for him the solution popped out when he realized that “texture tiling and repeating is really just a very, very specialized form of data compression”. This data compression is necessary because “you generally don’t have enough memory to be able to have the exact texture that you’d like everywhere”.
The Doom3 engine’s approach to texturing now allows a game to act as if it has an unlimited texture space, using a “more complicated fragment program … [to] pick out exactly what should be on [the mesh]” at any given point on the terrain. Carmack sees this as a major breakthrough in realism for games, because artists can generate these large surfaces and then “do hand touch ups in a lot of different places to accent around features”. This patina of realism on top of the randomness is enough to convince the player that the landscape is real, something that is more difficult using only random terrain. It’s one of those “key elements that you start looking at in games that look really dated”; at a certain point, one realizes that the hardware has come far enough to toss out the tradeoff and just do it right, in the same way that the original Doom3 engine did away with pre-rendered lightmaps several years ago.
It’s important to realize that just because an artist can hand-paint the entire several square kilometers of a map doesn’t mean she has to. The engine runs just fine using repeated textures instead of one large one, but “[i]t’s taken [texturing] from being a resource constraint to something that becomes a design trade off.” The upcoming QW:ET will premiere this feature for games on the X-Box 360 and PC. But, as is usual with Carmack, it’s “essentially already abandoned” and has been replaced with something better. The latest version takes this “texture space” concept and generalizes it to all rendering in the engine:
“[A] similar technology that creates this unique mapping of everything, and use it in a more general sense so that we could have it on architectural models, and arbitrary characters … [this] is what we’re using in our current title that’s under development”
Carmack’s convinced that he’s got the defining technology for the next generation, and that, “just by itself, even with no newer presentation technologies, allowing unique texturing on lots and lots of surfaces, I think, is the key enabler for this generation.” He’s been right several times before when he bet on BSPs, 3D hardware, bezier surfaces and—most recently—bump-mapping and dynamic lighting. It’s a safe bet that id Software will once again emerge at the top of the heap in the next big showdown.