28 lines
642 B
Plaintext
28 lines
642 B
Plaintext
const mat4 ditherMatrix = mat4(
|
|
vec4(0.0625, 0.5625, 0.1875, 0.6875),
|
|
vec4(0.8125, 0.3125, 0.9375, 0.4375),
|
|
vec4(0.25, 0.75, 0.125, 0.625),
|
|
vec4(1.0, 0.5, 0.875, 0.375));
|
|
|
|
|
|
float dither( float alpha, vec2 pos )
|
|
{
|
|
int x = int( pos.x ) % 4;
|
|
int y = int( pos.y ) % 4;
|
|
|
|
float res = 0.0;
|
|
vec4 temp;
|
|
|
|
if (x == 0) {temp = ditherMatrix[0];}
|
|
else if (x == 1) temp = ditherMatrix[1];
|
|
else if (x == 2) temp = ditherMatrix[2];
|
|
else if (x == 3) temp = ditherMatrix[3];
|
|
|
|
|
|
if (y == 0) {res = temp[0];}
|
|
else if (y == 1) res = temp[1];
|
|
else if (y == 2) res = temp[2];
|
|
else if (y == 3) res = temp[3];
|
|
|
|
return res;
|
|
} |