Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I remember John Carmack talking about how they initially used Megatexturing for Quake Wars: Enemy Territory. The technology has since evolved quite a bit in Rage.

I was wondering if somebody here can give some technical details on the specifics on what and how it has evolved since then.

share|improve this question

I don't know, if it's what you are looking for, but you can try this video and this paper from GDC 2011. It's about: Mega Meshes - Modelling, rendering and lighting a world made of 100 billion polygons. And there is a lot about texturing.

share|improve this answer
The talk is actually here in the GDC archives, but you have to have a full membership ($495) to watch it. – bobobobo Dec 27 '12 at 3:41

I would recommend to check "Virtual Texture Mapping 101" article on GPU Gems. It is basically dividing the original texture (which is usually huge) into smaller tiles and load them into GPU memory when needed. The same idea can be used to render huge and high detailed terrains.

share|improve this answer

For starters, Beyond3D has a nice little Writeup of some technical tidbits gathered throughout an interview with Splash Damage's Technical Director Arnout van Meer as well as Senior Graphics Programmer Mike Armstrong. This same article specifically cites some disadvantages about MegaTexturing in its then current iteration on page 5. It hints at John Carmack having already fixed some of them in a later revision as well as at ways to fix some others that were not viable at the time.

Notable examples are:

  • Sniper Rifle zoom won't stream in higher quality mip maps for displayed tiles
  • Not possible with arbitrary geometry

Also, in this interview John Carmack states that some of the shortcomings of the technology used in Quake Wars have already been fixed in internal builds - for instance applying MegaTextures to arbitrary geometry including characters and vehicles.

share|improve this answer

Sean Barret's GDC 2008 Sparse Virtual Texture presentation was his attempt to recreate what Carmack was doing at the time. There's source, too. There has been some correspondence between Carmack and Barrett since then.

(The presentation is a bit dense, but worth taking the time to understand -- I spent a few hour-long sessions with a whiteboard after watching it twice in the course of two days, and eventually got to the point where I think I understood it all. Much easier if you have a fragment shader background, which I didn't at the time. It's also really neat that the presentation is the demo.)

+1 to zacharmarz for mentioning the excellent GDC2011 Mega Meshes presentation by the Lionhead folks working on Milo and Kate. There are a lot of very practical solutions mentioned therein, for example: rendering every other frame at different locations (hotspots, 180 degree turns, zooms, further along a control spline, etc) to determine texture visibility and mip levels, and communicating the results to an "L2 Cache", to solve some of the texture streaming issues. Not necessarily simple, but nonetheless elegant in its directness.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.