John Carmack Discuss Mega Texturing 313
An anonymous readers writes in to say that "id Software has introduced a new technology dubbed Mega Texturing that will allow graphic engines to render large textures and terrains in a more optomized way while also making them look better. Gamer Within has Q & A with John Carmack on Mega Texturing."
Article Text (Score:5, Informative)
Publish Date: 01 May 2006
Cain Dornan
One of the most respected and well-known game developers in the world, John Carmack hardly needs any introduction. Having mastered the skill of game programming, Carmack co-founded developer id Software, and has also worked on such classic series as Doom, Quake and Wolfenstein 3D.
In this Question & Answer with Carmack, he discusses the new MegaTexture technology, which will be used in the upcoming Enemy Territory: Quake Wars for PC. Definitely a worthy read for any programming, designing or general development enthusiast, as well as any gamer slightly interested in the development process behind games.
Q1: What is MegaTexturing technology?
Answer: MegaTexture technology is something that addresses resource limitations in one particular aspect of graphics. The core idea of it is that when you start looking at outdoor rendering and how you want to do terrain and things in general, people almost always wind up with some kind of cross-fade blended approach where you tile your textures over and blend between them and add little bits of detail here and there. A really important thing to realize about just generally tiling textures, that we're so used to accepting it in games, is that when you have one repeated pattern over a bunch of geometry, the texture tiling and repeating is really just a very, very specialized form of data compression where it's allowing you to take a smaller amount of data and have it replicated over multiple surfaces, or multiple parts of the same surface in a game since you generally don't have enough memory to be able to have the exact texture that you'd like everywhere.
The key point of that is what you really want to do is to be able to have as much texture as you want to use where you have something unique everywhere. Now normally, you just can't get away with doing that, because if you allocate a 32,000 by 32,000 texture, the graphics curve can't render directly from that. There's not enough memory in the system to do that, and even when you have normal sized textures, games are always up against the limits of the graphics card memory, and system memory, and eventually you've got hard drive or DVD memory on there, but you wind up with a lot of different swapping schemes, where you'll have a little low-res version of a texture, and then high res versions that you bring in at different times, and a lot of effort goes into trying to manage this one way or the other.
So when Splash Damage was starting on, really early with Enemy Territory: QUAKE Wars, they were looking at some of these different ways to render the outdoor scenes with different blends and things like that. And one of my early suggestions to them was that they consider looking at an approach where you just use one monumentally large texture, and that turned out to be 32,000 by 32,000. And I - rather then doing it by the conventional way that you would approach something like this (i.e. - chopping up the geometry into different pieces and mapping different textures on to there and incrementally swapping them for low res versus high res versions), just let them treat one uniform geometry mesh and have this effectively unbounded texture side on there, and use a more complicated fragment program to go ahead and pick out exactly what should be on there, just as if the graphics hardware and the system really did support such a huge texture.
In the end what this winds up getting us is the ability to create a great outdoor terrain texture that has far more complex interactions than anything that you would get with any kind of conventional rendering, where you've built it up out of pieces of lots of smaller textures on there, where they do some sophisticated things with growing grass up between bump maps. And then you can go back and do hand touch ups in a lot of different places to accent around features that are coming out of the surf
Re:patent? (Score:3, Informative)
You really owe it to yourself to understand what patents are all about, even if you never ever plan on applying for one.
Re:Why not go procedural? (Score:3, Informative)
Re:Id has never made a decent outdoor engine! (Score:2, Informative)
Especially in a larger firefights.
Re:Why not go procedural? (Score:3, Informative)
- you still don't get full control on the look. If you want to add a rabbit hole texture in a particular area, you still have to create a polygon just for it or do some other texture trick to add that texture over the normal grass texture that surround the hole.
- and you still have to deal with seams when two texture has to be merged, like moving from a grass area to dirt area.
With the Mega Texturing, the artist can paint the rabbit hole and the seams just as he wants. He is limited only by his imagination.
Most interesting answer: (Score:5, Informative)
Answer: It doesn't help them. In general, all the technology progress has been essentially reducing the ability of a mod team to do something significant and competitive. We've certainly seen this over the last 10 years, where, in the early days of somebody messing with DOOM or QUAKE, you could take essentially a pure concept idea, put it in, and see how the game play evolved there. But doing a mod now, if you're making new models, new animation, you essentially need to be a game studio doing something for free to do something that's going to be the significant equivalent. And almost nobody even considers doing a total conversion anymore. Anything like this that allows more media effort to be spent, probably does not help the mods."
A pretty honest and insightful answer, if you ask me. This is a feature that'll allow the big boys to make ever-more realistic environments, but it'll mean indie developers and mod developers will have to work that much harder to make anything comparable.
Re:patent? (Score:3, Informative)
Usually, (I think) inventions are supposed to be kept secret until a patent application has been lodged. I might be wrong about that, and inventors might have some time limit within which they must lodge a patent application after having gone public with their invention.
It is certainly not the case that prior art is only established when a patent has already been applied for, though.
Re:But HOW does it work? (Score:3, Informative)
Re:mega texture commands in Doom3 (Score:2, Informative)
Re:FarCry/KryTek had this first (Score:5, Informative)
Re:But HOW does it work? (Score:3, Informative)
Re:Why not go procedural? (Score:5, Informative)
I agree with him.
The problem with voxels... (Score:3, Informative)
The more traditional vertex mesh is a much less data-intensive way of representing the parts of the world that the player actually cares about. Unless tunneling through terrain or slicing objects in half on arbitrary planes is a big part of your gameplay, it's probably not worth the effort. Of course, that ability to arbitrarily slice into a volume is precisely why medical imaging uses the voxel model.
Re:Fan Mods (Score:3, Informative)