The 'Avenger' graphics core was originally conceived immediately after Banshee. Due to quite staggering mismanagement by 3dfx, this caused the next-generation 'Rampage' project to suffer delays which would prove to be fatal to the entire company.
Avenger was pushed to the forefront as it offered a quicker time to market than the already delayed Rampage. Avenger was no more than the Banshee core with a second texture mapping unit (TMU) added - the same TMU which Banshee lost compared to Voodoo2. Avenger was thus merely a Voodoo2 with an integrated 128 bit 2D video accelerator and twice the clock speed.
Much was made of Voodoo3 (as Avenger was christened) and its 16-bit only rendering. This was in fact quite complex, as Voodoo3 operated to full 32 bit precision (8 bits per channel, 16.7M colors) in its texture mappers and pixel pipeline as opposed to previous products from 3dfx and other vendors, which had only worked in 16 bit precision.
To save framebuffer space, the Voodoo3's rendering output was then dithered to 16 bit, which is fundamentally entirely different to (and much higher quality than) running the whole thing in 16 bit. However, the controversy came about over what happened next.
The Voodoo3's RAMDAC, which took the rendered frame from the framebuffer and generated the display image, performed a 2x2 box or 4x1 line filter on the dithered image to almost reconstruct the original 24 bit render. 3dfx claimed '22 bit' equivalent. The controversy began because most people relied on screenshots to compare image quality, yet Voodoo3's framebuffer (where a screenshot is taken from) is not the result put on screen. Therefore, screenshots did not accurately portray Voodoo3's display quality which was actually much closer to the 24 bit outputs of TNT2 and Rage128 but far, far faster. 32 bits cannot be output to a display, as the extra 8 bits are transparency information.
Performance
The Voodoo3 2000, 3000 and 3500 differed only in clock frequencies (memory and core were synchronous). The clock rates were 143MHz, 166MHz and 183MHz respectively on the Voodoo2 style 1x2 pixel pipeline. This gave the 3000 and 3500 a very significant advantage in multitextured fillrate over its main rival, the 125MHz TNT2, but the TNT2 had just under twice the single texturing fillrate of the Voodoo3.
Modern (for the time) multitexturing games such as Quake3 and Unreal Tournament were almost exclusively Voodoo3 territory, a TNT2 even in its poor quality 16 bit mode couldn't keep up without overclocking. Older games, which made light use of multitexturing (such as Quake2 or Deus Ex) exposed Voodoo3's weak single texturing performance.
Voodoo3 remained performance competitive throughout its life, eventually being comprehensively outclassed by GeForce 256.