[orx-fx] Use the appropriate FilterNto1 interfaces

* Fix webgl 2 compatibility
 * Add LumaLaplacian, ACESTonemap, ReinhardTonemap, DirectionalHashBlur
This commit is contained in:
Edwin Jakobs
2022-12-28 13:57:27 +01:00
parent beb53bbde7
commit 750b5ef67e
87 changed files with 578 additions and 175 deletions

View File

@@ -9,17 +9,17 @@ uniform float distort;
out vec4 o_color;
void main() {
vec2 uv = v_texCoord0;
vec2 blockSize = vec2(1.0/columns, 1.0/rows);
vec2 blockSize = vec2(1.0 / float(columns), 1.0 / float(rows));
vec2 blockIndex = floor(uv / blockSize);
vec2 blockUV = mod(uv/blockSize, vec2(1.0));
vec2 blockUVC1 = (blockUV - vec2(0.5)) * 2.0;
vec2 blockCenter = (blockIndex+0.5) * blockSize;
vec2 blockCenter = (blockIndex + 0.5) * blockSize;
float ca = cos(radians(rotation));
float sa = sin(radians(rotation));
vec2 ts = textureSize(tex0, 0);
mat2 rm = mat2(1.0, 0.0, 0.0, ts.x/ts.y) * mat2(vec2(ca, sa), vec2(-sa, ca)) * mat2(1.0, 0.0, 0.0, ts.y/ts.x);
mat2 rm = mat2(1.0, 0.0, 0.0, ts.x / ts.y) * mat2(vec2(ca, sa), vec2(-sa, ca)) * mat2(1.0, 0.0, 0.0, ts.y / ts.x);
vec2 ruv = (uv - blockCenter);
vec2 luv;
luv.x = (1.0 - blockUVC1.y * blockUVC1.y * distort) * ruv.x;