GX is the name of the Wii and GameCube's GPU, located inside of the Flipper package on the GameCube and the Hollywood package on the Wii. It was branded as being an ATI design, however most of the actual design work was done by ArtX before they were bought out by ATI in 2000.
Hardware Capabilities (Wii)
- 243MHz graphics chip
- 3MB embedded GPU memory (eDRAM)
- 2MB dedicated to Z-buffer and framebuffer
- 1MB texture cache
- 24MB 1T-SRAM @ 486MHz (3.9GB/s) directly accessible for textures and other video data
- Fixed function pipeline (no support for programmable vertex or pixel shaders in hardware)
- Texture Environment Unit (TEV) - capable of combining up to 8 textures in up to 16 stages or "passes"
- ~30GB/s internal bandwidth^
- ~18 million polygons/second^
- 972Mpixels/sec peak pixel fillrate
(Note: ^ denotes speculation: using confirmed AMD GameCube data x 1.5, a crude but likely accurate way of calculating the Wii's results based on clock speeds and identical architecture)
Texture Environment Unit
The Texture Environment Unit (TEV) is a unique piece of hardware exclusive to the GameCube and Wii. The Wii inherited the TEV from Flipper, and the TEV is - to use an analogy from Factor 5 director Julian Eggebrecht - "like an elaborate switchboard that makes the wildest combinations of textures and materials possible."
The TEV pipeline combines up to 8 textures in up to 16 stages at once. Each stage can apply a multitude of functions to the texture. This was frequently used to simulate pixel shader effects such as bump-mapping, or to perform effects such as cel shading. The TEV pipeline is completely under programmer control; as a result, the more time the developer puts in to write effects in software, the better results they will get. On the GameCube, Factor 5's Star Wars: Rogue Squadron II used the TEV for the targeting computer effect and the simulated volumetric fog. In another scenario, Wave Race: Blue Storm used the TEV notably for water distortion (such as refraction) and other water effects. The Wii's TEV unit and TEV capabilities are no different from the GameCube's, excluding indirect performance advantages from the faster clock speeds.
Use in games
Hollywood itself is the subject of much speculation in terms of true potential: some developers claim to have pushed 20 million polygons/sec or more in real world game scenarios, however according to ATI's original data this exceeds the theoretical polygon count.
Developers working with Hollywood face the obvious obstacle of resolution (vs. PS3, 360, PC), video memory, bandwidth and the lack of pixel/vertex shaders. This makes programming for the Wii a challenge compared to other systems. However, developers became familiar with the system over time and managed to work around its limitations.
The resolution is capped at an absolute maximum of 640x480; most games use a figure close to this, such as 640x460, with slightly reduced vertical resolution to compensate for "overscan" on CRT displays. Fortunately, this was used to the Wii's advantage in many cases; despite the lack of definition and clarity, developers used this lack of clarity to hide shortcuts and get away with more than they would have been able to on PS3 or 360. The lower resolution also mitigated the issue of pixel fillrate and memory bandwidth.
The TEV was used to overcome the lack of pixel and vertex shaders. While having no hardware functionality to replace or use standard shaders was a pain initially, developers began to use the TEV to substitute and, in some cases, even exceed what may have been possible on a similar system with pixel and vertex shaders. A high-profile example of this is The Conduit and Conduit 2 by High Voltage Software using their own Quantum3 engine. The engine supports dynamic bump-mapping (via tangent space normals or embossing), reflection and refraction (via real-time cube or spherical environmental maps), light/shadow maps, projected texture lights, specular and Fresnel effects, emissive and iridescent materials, advanced alpha blends, light beams/shafts, gloss and detail mapping, projected shadows, heat distortion and motion blur, interactive water with dual-wave channels and complex surface effects and more.
GameCube/Wii Differences
The iterations of GX found in the GameCube and Wii are fundamentally identical. They are very similarly capable, with the Wii's GPU being clocked 50% faster (243MHz, as opposed to the GameCube's at 162MHz) with the same memory pool (3MB). The Wii provides no improvements in programmability compared to the GameCube GX, however the benefit of this similarity between the two chips is that they are completely compatible with each other.