(Historical) Hardware Support for Large Texture Maps
This page describes the (now mostly historical) challenge of supporting large 
textures on early hardware (roughly 1994-2008).  In the 
modern era of graphics cards with gigabytes of texture RAM and fast busses for 
instantaneous paging, is is largely a non-issue.
SGI
	 High-end 
	solution: SGI's Performer 
	on Infinite Reality (IR) High-end 
	solution: SGI's Performer 
	on Infinite Reality (IR)- 
		- 
		
		Performer Guide, Chapter 12: ClipTextures (Clipmapping)
- Introduced in Performer 2.1, a patented algorithm to allow textures that are much bigger than will 
			fit in texture memory, and even in system memory.
- Exploits and extends properties of MIP-maps. Efficiently pages in MIP-levels using a special hook in the Infinite 
			Reality hardware and a high-speed bus.
- SGI demonstrated a 32k*32k cliptexture (25m data, 800*800km) = 3 
			GB of memory
			- at Siggraph '98, was claiming to show a 350 GB 
				texture database
 
- Their Yosemite demo used 0.5m image data and 30M elevation data
- was not available on SGI's Win32 platform (Cobalt)
 
Ways to Save Texture Memory
	- Texture image depth can potentially be reduced to 16 bits
		- TGA and PNG are a common format for 16-bit textures, however.. OpenGL generally wants a 24-bit texture as input, which it will convert 
		it to an internal format depending on what the card is capable of and what 
		you ask for
 
- Texture Compression
		- Texture compression reduces the texture memory size for a texture, generally 
		by a factor of 4x to 6x, such that it can be quickly and easily uncompressed 
		at rendering time.
- It also reduces the amount of on-chip bandwidth required to transfer 
		and process the texture for rendering, which can increase fill rate.
- It's now widely available on all 3D hardware, and it's difficult to 
		tell the difference visually, so it's usually a no-brainer to enable compression.
- Reportedly, "Compression is most visible with smooth multicolor gradients, 
		and is likely to add noise to the image more often than softening it (as 
		JPEG does).  Textures generally appear to become slightly 'busier'."
 
3D Card Vendors
	- 
	  
		- A normal consumer card vendor, but their cards now completely out-perform 
		cards from the previously "high-end" 3D card market.
- Their cards with 128 MB, and even 256 or 512 MB of RAM are becoming 
		widespread.
- ~110 MB of 128 is available for texturing, depending on display settings, 
		or ~240 of 256.
 
- 
	 
		- Now the leading NVidia competitor, usually in a horse race with their 
		product releases.
- Their top-of-the-line Radeon offering comes in 128, 256, and even greater 
		MB
 
Traditional High-end PC Graphics Card Vendors
	See Older/Historical Cards.
RAM requirements for a single texture, in megabytes, with and 
without mipmapping (MM): 
	
		
			| size of texture | 16 bit | 24 bit | 32 bit | 16 bit w/MM | 24 bit w/MM | 32 bit w/MM | 24 bit with 4x Compression
 | 
		
			| (may be greater due to rounding up to 
			meet texture memory usage constraints) | 
		
			| 1024*1024 | 2 | 3 | 4 | 2.7 | 4 | 5.5 | 0.75 | 
		
			| 2048*2048 | 8 | 12 | 16 | 10.9 | 16 | 21.3 | 3 | 
		
			| 4096*4096 | 32 | 48 | 64 | 42.6 | 64 | 85.3 | 12 | 
		
			| 8192*8192 | 128 | 192 | 256 | 170.6 | 256 | 341.3 | 48 | 
		
			| 16384*16384 | 512 | 768 | 1024 |  | 1024 |  | 256 | 
	
Card/Chipset Maximum Texture Size under OpenGL, Current Cards:
	
		
			| Chipset | Max texture RAM (MB) | Max Texture Size | 
		
			| NVidia GeForce series | ~110/240 (128/256 on card) | 4096 | 
		
			| ATI Radeon series | ~110/240 (128/256 on card) | 2048 |