[Patch] 3dfx rendering accuracy

Post new patches here!
Post Reply
User avatar
leilei
Posts: 537
Joined: Fri 25 Apr, 2014 4:47 pm

[Patch] 3dfx rendering accuracy

Post by leilei » Mon 14 May, 2018 12:20 pm

I'm still working a bit on this but decided to put it out early as I really need a break from this (4 trial and errory days so far). I'd prefer technical feedback on this. It's not ready for the tree in its current state (still have comments and the tabs/spacing isn't consistent as I code in a notepad offshoot)
dithes.png
dithes.png (20.51 KiB) Viewed 214 times
What's in the patch:
- 4x4 dithering for alpha blends (interpreter only)
- Allow forcing which filter to use in a combo box instead of a checkbox
- Options to enable/disable this new alpha blend dithering.

Also included but not quite finished or refined:
- Emulation of the CLUT bug on the V1 and V2 . Right now it doesn't produce the too bright=wrap to dark artifact yet, and causes some odd bugs with certain games (Some Direct3D games showing only white)
- 2x2 dithering for alpha blend (interpreter only). Right now it shouldn't be doing this as I recently realized dithersub only applies to the 4x4 dither (after peeking in the glide source code)
- Alpha blend bug hack fix (interpreter only). I tried to fix the darker color that shows up at the darkest side of the destination blend and might've ended up cutting off too much. This hack is now redundant when the blend dither table can do the same thing so ignore this one. It got included in the patch by accident.

EDIT: other stuff I learned:

fbzMode bit 19 controls the dithersub on all 3dfx cards. FX_GLIDE_NO_DITHER_SUB supposedly can disable it but I haven't seen this actually happen.

There is no dithersub for 2x2, but there is similar color reduction happening there anyway.

There is no big 2x2 table!
Attachments
voodoo_accuracy_6.patch
(30.79 KiB) Downloaded 10 times

Post Reply