30 lines
740 B
Plaintext
30 lines
740 B
Plaintext
// #include "res://addons/rokojori_action_library/Runtime/Shading/Library/Dithering.gdshaderinc"
|
|
|
|
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;
|
|
} |