[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead [phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4787: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922) [phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922) [phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4790: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922) [phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3922) InsideQC Forums • View topic - A post-process shader mimicking the 3dfx Voodoo Graphics & 2
Discuss programming topics for any language, any source base. If it is programming related but doesn't fit in one of the below categories, it goes here.
It's more than just that. The shader without the filter is still useful for the psuedo dither for modern cards running in 16bpp, but there's very few DX9 games that even force you to 16bpp so not much application to be had there (unless you use some GL>D3D9 wrapper like GlDirect and you're playing an older GL game such as Q/Q2/H2/SiN/HL etc).... until DXGL gets D3D3-6 working, since many early Direct3D games never gave the choice of 24/32bpp (only a few exceptions, like AvP).
I always hated the 3dfx look. I remember when I got my first voodoo (doodoo) card, and I was like, "Why are there weird rainbow colored splotches in the lightmaps? Why is everything so blurry? What's with the scan lines? I thought 3D acceleration was supposed to make the game look better... software mode looked better than this!"
It's more of a 'hardware preservation' kind of thing. Also some people are wacky and think the Voodoo looked better because it eliminated the dithering every other card had (despite some cards supporting 32bpp, that bit depth wasn't available in most early 3d accelerated games as a choice. )
Also remember - 3d accelerator. 3dfx gained the marketshare early because for once it actually lived up to that word. People were willing to compromise image quality for it, despite earlier S3 ViRGE, GLint and Millenium looking cleaner.
There's also some other shader ideas...
- PowerVR alpha blend texture shader (resample 16x, Nearest texture filter on alpha channel, RGBA4444 the texture AND the modulated alpha) - ATI Rage error diffusion table dither shader (all cards from Rage to Radeon 7500 had this. 8500 only has it in blending functions) - Nvidia box 'dither' shader (all cards from Riva TNT up to Geforce7 had this)
In 2d the best looking was the matrox g200 and earlier the 4000 chipset by tseng labs. Both Cards rocked with a voodoo i still have fond memories of these beating a geforce 1 hehe.
That's true if you have a K6-2 system. 3dNow gave 3dfx a nice boost even over the Geforce3 in game performance on those.
I am still working on this shader, i've recently greatly redone the dithering pass. It's still not perfect, but it's awfully close.
I am using the dither matrix table from voodoo.h from the MAME/MESS source, and fortunately that particular bit of code is under a BSD 3 clause license.
I think i got one of the last sources for the voodoo driver somwhere on my harddrives, not sure if that would help with the dither tables ?. I think its the one for the XP port if i remember correctly (hacked together from the Linux sources by a voodoo enthusiast).
True the voodoo played really nice with the AMD chips back in the days just dont remind me of the Cyrix CPU's from back then hehe