VOGONS


First post, by leileilol

User metadata
Rank l33t++
Rank
l33t++

First and foremost, this is not a Reshade whatever.

Months ago I was trying to hack together a fragment shader for textures to drop the taps of bilinear filtering far lower and started off with round()ing the texcoords based on the texture size divided by taps determined by nearest texel color differences. Unfortunately this led to a lot of corrupt stuff like one diagonal slice getting 4 taps and the rest getting 32 etc. so obviously this approach is wrong.

screwedup.png
Filename
screwedup.png
File size
15.02 KiB
Views
175 views
File license
Fair use/fair dealing exception

is there a more proper way of doing it? Thinking about the MIP LOD as a shader too, somehow, as with new bilinear filtering using textureSize would need to require that.

I was intending to replicate the low precise filtering on PowerVR hardware (PVR1 to 3, but especially PVR1 for the characteristic far less precise alpha channel filtering) and the Geforces (about all before 6) and had made some study materials zooming into texels and analyzing what taps were given for what color value etc.

geforc.png
Filename
geforc.png
File size
53.48 KiB
Views
175 views
File comment
Geforce filtering example
File license
Fair use/fair dealing exception
pvr1filt.png
Filename
pvr1filt.png
File size
5.38 KiB
Views
175 views
File comment
PCX2 filtering example
File license
Fair use/fair dealing exception

apsosig.png