33
44#pragma include "Includes/Configuration.include"
55
6- vec3 applyColorLUT(sampler2D lut, vec3 color) {
7-
8- color = saturate(color);
6+ vec3 applyColorLUT(sampler2D lut, vec3 color)
7+ {
98 float lutSize = float(textureSize(lut, 0).y);
10- color = clamp(color, vec3(1.0 / lutSize), vec3(1.0 - 1.0 / lutSize));
9+ color = clamp(color, vec3(0.5 / lutSize), vec3(1.0 - 0.5 / lutSize));
1110 vec2 texcXY = vec2(color.r / lutSize, 1.0 - color.g);
12- int frameZ = int(color.b * lutSize);
13- float lerpFactor = fract(color.b * lutSize);
14-
1511
12+ int frameZ = int(color.b * lutSize);
13+ float offsZ = fract(color.b * lutSize);
1614
15+ vec3 sample1 = textureLod(lut, texcXY + vec2(frameZ / lutSize, 0), 0).rgb;
16+ vec3 sample2 = textureLod(lut, texcXY + vec2( (frameZ + 1) / lutSize, 0), 0).rgb;
1717
18- vec3 sample1 = texture(lut, texcXY + vec2(frameZ / lutSize, 0) ).rgb;
19- vec3 sample2 = texture(lut, texcXY + vec2( (frameZ + 1) / lutSize, 0)).rgb;
20-
21-
22- return mix(sample1, sample2, lerpFactor);
23- }
18+ return mix(sample1, sample2, offsZ);
19+ }
0 commit comments