diff options
Diffstat (limited to 'intern/opencolorio/gpu_shader_display_transform.glsl')
-rw-r--r-- | intern/opencolorio/gpu_shader_display_transform.glsl | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/intern/opencolorio/gpu_shader_display_transform.glsl b/intern/opencolorio/gpu_shader_display_transform.glsl index 853bf575582..f1dca04b823 100644 --- a/intern/opencolorio/gpu_shader_display_transform.glsl +++ b/intern/opencolorio/gpu_shader_display_transform.glsl @@ -5,10 +5,8 @@ uniform sampler3D lut3d_texture; uniform float dither; #endif -#ifdef USE_TEXTURE_SIZE -uniform float image_texture_width; -uniform float image_texture_height; -#endif +in vec2 texCoord_interp; +out vec4 fragColor; #ifdef USE_CURVE_MAPPING /* Curve mapping parameters @@ -38,7 +36,7 @@ float read_curve_mapping(int table, int index) * But is it actually correct to subtract 1 here? */ float texture_index = float(index) / float(curve_mapping_lut_size - 1); - return texture1D(curve_mapping_texture, texture_index)[table]; + return texture(curve_mapping_texture, texture_index)[table]; } float curvemap_calc_extend(int table, float x, vec2 first, vec2 last) @@ -119,11 +117,7 @@ float dither_random_value(vec2 co) vec2 round_to_pixel(vec2 st) { vec2 result; -#ifdef USE_TEXTURE_SIZE - vec2 size = vec2(image_texture_width, image_texture_height); -#else vec2 size = textureSize(image_texture, 0); -#endif result.x = float(int(st.x * size.x)) / size.x; result.y = float(int(st.y * size.y)) / size.y; return result; @@ -143,7 +137,7 @@ vec4 apply_dither(vec2 st, vec4 col) void main() { - vec4 col = texture2D(image_texture, gl_TexCoord[0].st); + vec4 col = texture(image_texture, texCoord_interp.st); #ifdef USE_CURVE_MAPPING col = curvemapping_evaluate_premulRGBF(col); #endif @@ -165,8 +159,8 @@ void main() vec4 result = OCIODisplay(col, lut3d_texture); #ifdef USE_DITHER - result = apply_dither(gl_TexCoord[0].st, result); + result = apply_dither(texCoord_interp.st, result); #endif - gl_FragColor = result; + fragColor = result; } |