Skip to content

Commit a5af7c8

Browse files
committed
Fix color correction bug on AMD cards
1 parent 2b3c4a4 commit a5af7c8

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

Shader/Includes/ColorCorrection.include

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,17 @@
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

Comments
 (0)