MegaTexture
From Wikipedia, the free encyclopedia
MegaTexture refers to a texture allocation technique facilitating the use of a single extremely large texture rather than repeating multiple smaller textures. It is featured in Splash Damage's game, Enemy Territory: Quake Wars and was developed by id Software technical director John Carmack.[citation needed]
MegaTexture employs a single large texture space for static terrain. The texture is stored on removable media or the hard drive and streamed as needed, allowing large amounts of detail and variation over a large area with comparatively little RAM usage.[citation needed]
Then during rendering, required parts of the texture space are streamed inside dynamically (re-)allocated textures in video memory, scaled to the correct mipmap level(s) depending on the polygon size. This allows the engine to reduce the number of texels in VRAM/number of pixels on the screen ratio (the goal being getting closer to 1), saving memory.
The upcoming games Doom 4 and Rage, powered by the id Tech 5 engine, use textures that measure up to 128000×128000 pixels[1].
id Tech 6 will use a more advanced technique that builds upon the MegaTexture idea and virtualizes both the geometry and the textures to obtain unique geometry down to the equivalent of the texel: the Sparse Voxel Octree (SVO). It works by raycasting the geometry represented by voxels (instead of triangles) stored in an octree. The goal being to be able to stream parts of the octree into video memory, going further down along the tree for nearby objects to give them more details, and to use higher level, larger voxels for further objects, which give an automatic level of detail (LOD) system for both geometry and textures at the same time. The geometric detail that can be obtained using this method is nearly infinite, which removes the need for faking 3-dimensional details with techniques such as normal mapping. Despite that most Voxel rendering tests use very large amounts of memory (up to several Gb), Jon Olick of id Software claimed it's able to compress such SVO to 1.15 bits per voxel of position data.
The main drawback of the Sparse Voxel Octree is the need for fast updating of the octree in order to represent dynamic objects. However, Jon Olick gave examples of alternatives which would not require this, but cautioned that their use would probably be better suited for id Tech 7. For id Tech 6, SVO will therefore be used for representing static geometry such as terrains and buildings. Dynamic objects such as vehicles and characters will be represented by rasterized polygons as is the case in most 3D games today.
[edit] See also
- Texture mapping
- id Software
- Enemy Territory: Quake Wars
- Doom 3
- Doom 4
- Clipmap
- Torque Game Engine Advanced which also uses a similar technique for terrain rendering.
[edit] Citations
[edit] External links
- id Software
- Splash Damage
- John Carmack on MegaTexture
- Arnout van Meer on Quake Wars
- Sparse Virtual Textures by Sean Barrett, a related technique with more technical explanations (video demonstration).
- John Carmack about IdTech 5 and its Sparse Voxel Octree.
- Jon Olick (id Software) giving some details about SVO raycasting.
- Jon Olick's presentations on SVO technology

