pcsx2/plugins
gabest11 3e12966919 GSdx: Even more alpha test voodoo magic, it must be nailed now!
And there is even an explanation. 

The tfx functions calculate At * Af >> 7, which means modulating by 0x80 should return At as the result. 

With the evil floating point pixel shader however 0x80 translates to 128/255 (0.502), not exactly 0.5, modulation as At' * Af' * 2 (' means 0 - 1.0 range) is not the same as with integers.

At' = Af' = 0.502
At' * Af' * 2 = 0.504

If the alpha test happens to be "not equal to 0x80", then abs(0.504 - 128/255) < 0.5/255 will just miss.

Solution is to re-scale those values to the integer range, do the calculations, and then back to float again, but in the end it just simplifies down to At' * Af' * 255/128, doh...

At * Af >> 7 => ((At' * 255) * (Af' * 255) / 128) / 255 => At' * Af' * 255/128

At' = Af' = 0.502
0.502 * 0.502 * 255/128 = 0.502 (w00t!)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1272 96395faa-99c1-11dd-bbfe-3dabce05a288
2009-05-27 05:55:32 +00:00
..
CDVDiso Minor variable type changes. 2009-05-21 21:12:01 +00:00
CDVDisoEFP Linux: Add -m32 to the compiler flags of pcsx2 and all plugins. 2009-05-11 10:44:12 +00:00
CDVDlinuz Linux: Add -m32 to the compiler flags of pcsx2 and all plugins. 2009-05-11 10:44:12 +00:00
CDVDnull Linux: Work on dialog boxes for a bunch of plugins. mostly null plugins. Not finished, by any means, but this seemed like a good commit point. 2009-05-15 06:08:35 +00:00
CDVDolio Restructured the build system from the ground up. 3rdparty libs have been moved back into a /3rdparty folder, and are compiled as libraries. Most relevant plugins are part of the pcsx2_suite_2008.sln. Revision tagging of filenames is still there, but is now disabled by default. Pathnames with spaces shouldn't break the buildscripts anymore. Removed tons and tons of files in an effort to simplify the repository and build system management. So if a solution file you're used to using is missing, it's missing for a good reason (means the project can be built either from the Suite solution, or by double-clicking the project file from explorer, from which MSVC creates a new solution for you). 2009-02-24 02:08:37 +00:00
CDVDpeops Restructured the build system from the ground up. 3rdparty libs have been moved back into a /3rdparty folder, and are compiled as libraries. Most relevant plugins are part of the pcsx2_suite_2008.sln. Revision tagging of filenames is still there, but is now disabled by default. Pathnames with spaces shouldn't break the buildscripts anymore. Removed tons and tons of files in an effort to simplify the repository and build system management. So if a solution file you're used to using is missing, it's missing for a good reason (means the project can be built either from the Suite solution, or by double-clicking the project file from explorer, from which MSVC creates a new solution for you). 2009-02-24 02:08:37 +00:00
FWnull Minor variable type changes. 2009-05-21 21:12:01 +00:00
GSdx GSdx: Even more alpha test voodoo magic, it must be nailed now! 2009-05-27 05:55:32 +00:00
GSnull GSnull/PadNull: Add a null Pad plugin (Currently Linux only). Fix up GSnull on the Linux side. 2009-05-23 05:15:03 +00:00
LilyPad LilyPad, Sio.cpp both modified to never allow pads in first slot on either port to be unplugged, as it broke things. Unplugging pads from other slots seems to work fine, when using multitap (When not, obviously no such pads in the first place). 2009-04-20 23:14:32 +00:00
PadNull PadNull: A bit more work on the Windows side. 2009-05-23 06:50:10 +00:00
PeopsSPU2 Minor tweaks here and there. Removes a couple compiler warnings, adds in a -m32 flag I missed, and updates the Makefile a bit. 2009-05-14 21:50:03 +00:00
SPU2null Some work on variable type consistancy, and getting rid of 64 bit processor checks. 2009-05-17 21:57:24 +00:00
SSSPSXPAD Re-Added eol-style:native properties to the repository. The settings got lost when we merged from Playground to Official. 2009-02-09 21:15:56 +00:00
USBnull Linux: Fix focus problems with various dialogs when hitting escape, and hook in dev9's dialog box. 2009-05-15 07:02:51 +00:00
dev9null Cleanup: Moved some rather intrusive instances of global namespace pollution in Sio.h into a new sio_internal.h, so that the rest of the world doesn't have to ensure the pain of having BREAK and RTS macro'd to integers. ;) 2009-05-16 00:43:46 +00:00
spu2-x Some work on variable type consistancy, and getting rid of 64 bit processor checks. 2009-05-17 21:57:24 +00:00
xpad GSdx: 2009-03-22 13:10:31 +00:00
zerogs Some quick fixes. 2009-05-24 04:34:23 +00:00
zeropad Zeropad: Yes it's a bunch *more* cleanup work on Zeropad. 2009-05-25 01:59:17 +00:00
zerospu2 Some work on variable type consistancy, and getting rid of 64 bit processor checks. 2009-05-17 21:57:24 +00:00
build.sh Linux/SPU2-X: A bit more work on the Linux port of SPU2-X. 2009-03-20 10:13:19 +00:00