John Carmack Discuss Mega Texturing
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."
It may be insignificant, but I accidently saw two relative commands in Doom3, r_showMegaTexture and r_megaTextureLevel.
0 replies and the site was already moving really slow. Here's the text in case /. kills it.
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
The graphics are good enough already.
Speak for yourself. When I can't tell the difference between a rendered character and a live one, then I'll start wondering if graphics are approaching "good enough". Of course better physics and AI is also necessary to improve immersiveness, but there's no way I'd say graphics need no further improvements anytime soon.
Oh no... it's the future.
When I can't tell the difference between a rendered character and a live one, then I'll start wondering if graphics are approaching "good enough".
Yeah, but would you really want to shoot or hack and slash a photo-realistic character for fun? That's pretty sick (IMO).
Uttering logically derived and empirically supported truths to the disciples of the orthodox establishment.
This is a very interesting technique for realistic terrain, but I wonder what advantage this approach would have over procedurally rendered textures? I very much like the idea of being able to (effectively) zoom infinitely into a texture being 'generated' as opposed to 'drawn'... and the strengths of modern consoles play to this procedural generation quite well (PowerPC chips, Cell chips). Maybe thats why Carmack isn't so interested?
If Jesus wants me it knows where to find me.
Uniquely texturing entire terrains sounds pretty cool, but the concept isn't entirely new - just an evolution on an already-existing idea.
.plan thing some years ago - anyone want to find it?
I think the Myth RTS games from Bungie used very large textures for the terrain, and this moved on to Halo - terrain there is drawn using a large, low-resolution texture - the red, green and blue channels are used for the colour, while the alpha channel is used to determine which of two detail textures should be used - e.g. grass or sand. It works quite well. I think Far Cry does something similar, but more advanced still.
The former are still low-resolution, though - but the not-a-game Celestia has 'virtual texture' support, for rendering silly levels of detail on planet surfaces. Like, up to 128k by 64k pixels. The textures are split into many, many files for each level of detail, which are streamed in from the hard disk when required. Works fairly well.
Combining the two approaches, though, seems very new - the 'Mega Texturing' from John Carmack is probably dramatically different from an implementation point of view, and sounds rather interesting at any rate - the description of the upgraded, non-Quake-Wars version makes it sound like it could uniquely texture a whole world beyond just terrain, so could work for simulating real cities, as opposed to smoke-and-mirrors game cities.
I'm sure he talked about this in a
Tedious Bloggy Stuff - hooray?
That's right, why would you want to buy UT which had 7 gameplay modes out of the box and bots that weren't either retarded or cheating, not to mention the easiest mod switching system of seen to date in mutators; when I could have the "innovative" perfection of Deathmatch or Team Deathmatch?
The modding community filled the gap eventually, but that's not points for Q3, that's points for all of the dedicated people who were upset by the lack of options in that fanboy love-fest.
Sorry if I sound bitter about it, but I can recount back to the days when PC Gamer stated, more or less in its review that UT was vastly superior to Q3 in every imaginable way, and then gave it a lower score and handed the editors choice to Q3 instead. They were flooded with mail but never really could explian whose bathwater they were drinking when they either wrote a review that was too good or a score that was too low. I suspect a rolled up wad of hundreds under the table and nothing more.
-
Quake 3 Arena
-
Unreal Tournament
-
System Shock 2
Clearly, System Shock 2 is the best of its time. Wait, what about adjacent years?-
Blood 2
-
Half-Life
-
Sin
-
Shogo: Mobile Armor Division
-
Thief: The Dark Project
-
Unreal
-
No One Lives Forever
-
Deus Ex
Oh crap, a huge list of games, most of which are better than Quake 3.Now second, Quake 3 was a brilliant engine. However, there was very little game on top of such a beauty. Looking past the aesthetics, it was the same damn thing as Quake 2. We have a gauntlet, a machinegun, a shotgun, a grenade launcher, a rocket launcher, a railgun, and an uber weapon. And everybody used rocket launchers so it didn't really matter anyways. Tack on deathmatch and CTF and you have yourself a rehashed multiplayer FPS.
Unreal Tournament had a flurry of guns (I really don't want to list them all), but most importantly, it had unique features. Get tired of domination? There's CTF. Oh wait, CTF is really boring. We have assault. And boy, we have assault.
Don't get me wrong. Quake 3 was technically superior. Better? Debatable. I'm obviously siding with UT here (I love me assault). But Quake 3... innovative? What the hell?
Depends on how ugly the alien is.
I want the option. Not specifically for the gore, but to know that level of detail is possible.
If Jesus wants me it knows where to find me.
What makes Q3 great is its incredibly simple laser-beam focus. There is almost nothing extraneous in the game. It's like a bonzai tree or a zen rock garden.
I've played almost every game you listed. Many of them four or five times (some even more) and they all have more story than Q3, a lot of them have more weapons or more game play modes. Some even look better.
But, Q3 was installed and played almost daily on my computer from the day I bought it (a few weeks after it became available) until about three months ago.
Q3 is deathmatch and maybe capture the flag if you swing that way. It is nothing else and it never claimed to be anything else.
One game I'd love to see is Hexen III. For the time, the graphics in Hexen II were incredible and the gameplay was great - there was more focus on solving the puzzles (how the heck do I get out of this level) than there was on killing. Sure, there were plenty of monsters to kill but the, er, mazes seemed more intricate in Hexen. I don't recall whether that was just due to the different visuals or if it actually was the case. I've actually been playing the old Id games again in order (Doom, Doom II, Final Doom, Heretic, Hexen, etc) and find Heretic and Hexen more entertaining than Doom.
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
is what I'm waiting for. Mega Texturing is so last magnitude.
At last.. now I can look forward to Quake 5 offering a previous unparallled highly detailed panorma of three hundred shades of brown.
I think that's more because you know exactly what's going to happen than because you're being desensitized to violence. The first time, things that are happening catch you by surprise. Now, I don't care how many times you've seen Saving Private Ryan, if you get placed in a real battle situation, you're going to freak out (unless you've had other training, of course).
The same thing is much more easily seen with comedies. The first time I see a good comedy, I spend most of the time laughing. I'll never laugh as much in subsequent viewings. It doesn't mean I'm getting desensitized to comedy. It means I've seen that scene before.
Warning: Opinions known to be heavily biased.
"Q14: Do you think that the MegaTexture technology will be accessible to mod teams? I'm making the connection there in terms of thinking of some of the smaller teams out there.
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.
Carmack says:
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.
What does it mean? Unless I missed something, the closest approach to describe how MegaTexturing works is "a more complicated fragment program to go ahead and pick out exactly what should be on there". So? Carmack talks about how awsome the technique is but he won't tell us how it works in reality. Of course, he has no obligation to tell the world his trade secrets, but the article itself seems mostly just to be there to hype this technology.
+ 5 informative? Mod the parent down! Sure, Farcry uses one giant lightmap for the whole island but it stores the texture in memory all at once, this is not what Megatexture is all about. For all the rest Crytek uses up to 8 layers of alpha blending, but you still use tiled textures, you cannot paint one big texture on the whole level terrain. Check your facts before posting.