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.
This is exactly why Carmack owns my wallet and why ID Software does so well. Gamers rejoice!
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.
John Carmack is a Genius in the gaming industry. Quake 3 was by far the best game of its time. Unreal Tournament was fun, but it just wasn't Quake 3. I hope he continues to be innovative and keep the gaming industry steaming forward, and maybe create a few more games thats never been done before.
Click Click Bloody Click PANCAKES!
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.
If you can get a 4ms ping between, say, Chicago and LA, I would like to subscribe to your newsletter.
I have seen the future, and it is inconvenient.
... before Creative Labs asserts a patent over this?
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.
Carmack is really good as a person who pushes teh technology.
As a game developer, though, it's just not there. anytime I hear about an id game now, I just wait until someone brings out a truly great game using the engine that Carmack has developed.
Seriously - let's review teh last few: Doom3? Enter room. Kill. Lights go out. Kill more. Repeat. Q3A? See also: UT Q2? See Q1. then the origin Doom games. Then Wolfenstein.
id software make great tech demos. Not great games. Beyond the engine, id's games do nothing that hasn't been seen in all the other clones. They get a pass on gameplay though, strictly on name.
I played TFC and CS for years with a 1000+ ping until they introduced the 1.6 netcode which basically ended my ability to play period.
It's funny to see how far connections have come since then, and what people now deam as unacceptable.
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?
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.
Not all games are shoot/hack and slash.
Just because we become capable of photorealism doesn't mean the technology is going to be applyed that way.
At the very least, developers might be able to abuse the new tech in a way that lets them spend more time on the other parts of the game.
This is neat. It's been a shortcoming I've noticed in most games, where landscape textures tend to be lacking.
However, what we really need is gameplay innovation. Actually, what we really need is for developers to stop making every last first person game a damn shooter. Can't they do anything else with a first person perspective. The potential here is enormous and yet it looks like developers have a fetish with gunplay.
There have been games with potentially strong storylines that get mired down by this nonsense. There's little discovery and certainly no problem-solving. These games come down to who has more firepower and occassionally discerning some basic pattern in enemy movement.
Maybe the problem is that these developers invest so much energy in graphics that there's little room to refine the other aspects of the game. Or they just think that the consumer doesn't want to do anything other than destroy things and kill people.
Uh, by discussing the technology (in interviews and such), he's putting it out there into the public. He's publishing his idea. Thus there is the record of prior art if anyone tries to patent it.
You really owe it to yourself to understand what patents are all about, even if you never ever plan on applying for one.
It's not offtopic, dumbass. It's orthogonal.
is what I'm waiting for. Mega Texturing is so last magnitude.
Doom 3's multiplayer was also limited severely by the fact that it used per-pixel, not hitbox, detection. In multiplayer, anything more than a few players and that creates an insane amount of calculations that the server has to cram through.
Especially in a larger firefights.
Registered Linux user #421033
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.
Here is an interesting article I saw in Doom3World.org: http://www.doom3world.org/phpbb2/viewtopic.php?t=1 0673
Check the fourth post. Here are some interesting links about ClipMapping/ClipTexture:
http://www.cs.virginia.edu/~gfx/Courses/2002/BigDa ta/papers/Texturing/Clipmap.pdf
http://www.sgi.com/products/software/performer/pre sentations/clipmap_intro.pdf
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc .cgi?coll=0650&db=bks&srch=&fname=/SGI_Developer/P erf_PG/sgi_html/ch15.html
"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.
Prior art is when something has already been invented, regardless of whether or not anyone has tried to patent it.
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.
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.
Something not mentioned is what video cards support the mega texturing technique. The new NVIDIA 7900 hardware (a card aimed specifically at gaming computers enthusiasts) supposedly supports it. However, the only real way to test that is to get a copy of the new Doom.
Joshua McClure
Founder, WidowPC Gaming Computers
Now they look and act pretty real. The creepiness factor kicks in for me after a certain amount of realism. When do we stop with the terrain and model/skin realism, when we can no longer tell the difference between games and live-action movies? I hope for my grandchildrens' sake that FPS violence doesn't come to that.
:P
When games become indistinguishable from reality, why would someone waste time killing somebody in reality when you could do the same in a virtual setting without fear of getting thrown in jail? Presumably one would not need to commit crime for financial reasons, as it would be hard to afford a computer otherwise. Personally I enjoy computer games because I can do things otherwise impossible/too dangerous, unless someone invents a real life load/save (or I get insanely rich).
I've seen bits on mega texture for awhile but I have yet to be able to divine how the hell it is suppose to work.
My best guess is that one starts with a tiled texture like you would in any other game but that some engine allows artists to add modifications to the texture in different areas. Thus you take up less memory than actually having a full texture of that size but each area has it's own unique touchups.
Is this really what it does? I'm getting really frustrated at these stupid little gaming articles that never really explain the tech.
If you liked this thought maybe you would find my blog nice too:
+ 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.
Surely the incessant reminders they get every time they read /. will convince them to... oh. Nevermind.
If other reasons we do lack, we swear no one will die when we attack
"Destroy science and religion. Science would re-emerge exactly the same; but not religion." - Penn Jillette, paraphrased
There are movements out there (first that comes to mind is one dealing with OSS) that seeks to patent as much software techniques as they can. The motivation behind this is to patent some new technology before anyone else can, then freely allow everyone to use it without limitation. This seems to me to be a great idea, effectively nullifying software patents, and I think I would look into this if I came up with something equally as impressive as John has.
I'd hate to see John get into another pickle where he comes up with a great new method (Carmack's Reverse), only to find some other company (Creative in this case) holding a patent wanting to negotiated some ridiculous deal to allow him to use a method he independently discovered. Where's the logic in that?
Fundamentally, the problem with volumetric imaging for a video game is that you expend large amounts of storage space and CPU power tracking parts of the environment that the player will never see or interact with in any way.
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.
All you needed for a Doom monster was 5 bitmaps (front, rear, side, and 2 half way in between). The "models" for ATC (Aliens Total Conversion) looked like photographs of an off-the-shelf Alien model from a comic store. They were rough and faded and poor quality but that didn't matter, because it was all dark anyway. In something like Doom 3 you have sophisticated lighting that is almost designed to show off the quality of the models. Fundamentally, expectations were lower.