Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

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."
This discussion has been archived. No new comments can be posted.

John Carmack Discuss Mega Texturing

Comments Filter:
  • Article Text (Score:5, Informative)

    by Anonymous Coward on Monday May 15, 2006 @10:58AM (#15334544)
    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
  • Re:patent? (Score:3, Informative)

    by Ohreally_factor ( 593551 ) on Monday May 15, 2006 @11:55AM (#15335044) Journal
    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.
  • by Surt ( 22457 ) on Monday May 15, 2006 @11:58AM (#15335066) Homepage Journal
    I think the main disadvantage of procedural texturing is that it limits the precision of control the artists can achieve. For many photorealistic situations artists really just want to be able to slap enormous textures that are hand painted for a precise effect, but are generally limited by the max texture size.
  • by remembertomorrow ( 959064 ) on Monday May 15, 2006 @12:25PM (#15335274)
    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.
  • by Nahor ( 41537 ) on Monday May 15, 2006 @12:26PM (#15335284)
    Procedural texturing is another form of texture compression. The advantage of procedural textures is that it take less space than regular bitmap textures and you can have some sort on uniqueness (no repeating pattern). But it's still an automated rendering and thus has limitation.

    - 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.

  • by ZombieRoboNinja ( 905329 ) on Monday May 15, 2006 @12:54PM (#15335527)
    "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.
  • Re:patent? (Score:3, Informative)

    by babbling ( 952366 ) on Monday May 15, 2006 @12:57PM (#15335542)
    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.
  • by Have Blue ( 616 ) on Monday May 15, 2006 @01:35PM (#15335865) Homepage
    The difference between this and a simple fragment program is probably a method for dealing with the fact that the entire texture cannot be kept in VRAM (or even main system RAM). It'll need to dispatch loads for parts of the texture that aren't yet loaded and expire parts that haven't been used for a while.
  • by KDR_11k ( 778916 ) on Monday May 15, 2006 @01:56PM (#15336034)
    The stage keyword "megaTexture" has been present in the Doom 3 material docs (http://www.iddevnet.com/doom3/materials.php [iddevnet.com]) since version 1.0 though it is still documented as "super secret".
  • by NocturnDragon ( 820237 ) on Monday May 15, 2006 @02:40PM (#15336440)
    + 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.
  • by captaineo ( 87164 ) on Monday May 15, 2006 @02:51PM (#15336542)
    Just a wild guess - maybe it's a two-pass approach, where the first rendering pass uses a shader that indicates which texture tile applies to each pixel, then the engine reads back the image and loads all the needed tiles into memory (using some sort of cache), and finally renders the image.
  • by smug_lisp_weenie ( 824771 ) <cbarski.4503440@bloglines.com> on Monday May 15, 2006 @02:57PM (#15336599) Homepage
    John C is highly opposed to procedural textures. His thinking is that it requires that programmers act as artists. MegaTexturing allows artists to use their favorite tools to create their textures without worrying about programming or whether a certain effect is supported by a specific procedural language.

    I agree with him.
  • by mbessey ( 304651 ) on Monday May 15, 2006 @08:01PM (#15339084) Homepage Journal
    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.
  • Re:Fan Mods (Score:3, Informative)

    by PhilHibbs ( 4537 ) <snarks@gmail.com> on Tuesday May 16, 2006 @04:33AM (#15340765) Homepage Journal
    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.

Money can't buy love, but it improves your bargaining position. -- Christopher Marlowe