Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen Bakker <j.bakker@atmind.nl>2018-05-04 17:26:31 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2018-05-04 17:27:14 +0300
commitd85fd8feeb1b493b891158fd4cc5ed8bd44c7990 (patch)
tree165f93daae7c0cda16807aa93e2a62f65074b750 /source/blender/draw/engines/workbench/shaders
parent50c5e2aa08b84a6eec475ce74492374f6ea37b68 (diff)
T54953: Use OCIO for display color management
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders')
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl17
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl9
2 files changed, 4 insertions, 22 deletions
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl
index 5fcadc21a2c..e9d9b8c02e8 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl
@@ -33,20 +33,3 @@ vec2 normal_encode(vec3 n)
float p = sqrt(n.z * 8.0 + 8.0);
return vec2(n.xy / p + 0.5);
}
-
-/* Linear to srgb conversion */
-const float SRGB_ALPHA = 0.055;
-float linear_to_srgb(float channel) {
- if(channel <= 0.0031308) {
- return 12.92 * channel;
- } else {
- return (1.0 + SRGB_ALPHA) * pow(channel, 1.0/2.4) - SRGB_ALPHA;
- }
-}
-vec3 linearrgb_to_srgb(vec3 rgb) {
- return vec3(
- linear_to_srgb(rgb.r),
- linear_to_srgb(rgb.g),
- linear_to_srgb(rgb.b)
- );
-}
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl
index b032bb6a7b5..f93debc8d66 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_composite_frag.glsl
@@ -13,7 +13,6 @@ layout(std140) uniform world_block {
WorldData world_data;
};
-
void main()
{
ivec2 texel = ivec2(gl_FragCoord.xy);
@@ -22,7 +21,7 @@ void main()
#ifndef V3D_DRAWOPTION_OBJECT_OVERLAP
if (depth == 1.0) {
- fragColor = vec4(linearrgb_to_srgb(background_color(world_data, uv_viewport.y)), 0.0);
+ fragColor = vec4(background_color(world_data, uv_viewport.y), 0.0);
return;
}
#else /* !V3D_DRAWOPTION_OBJECT_OVERLAP */
@@ -32,9 +31,9 @@ void main()
if (object_id == NO_OBJECT_ID) {
vec3 background = background_color(world_data, uv_viewport.y);
if (object_overlap == 0.0) {
- fragColor = vec4(linearrgb_to_srgb(background), 0.0);
+ fragColor = vec4(background, 0.0);
} else {
- fragColor = vec4(linearrgb_to_srgb(mix(objectOverlapColor, background, object_overlap)), 1.0-object_overlap);
+ fragColor = vec4(mix(objectOverlapColor, background, object_overlap), 1.0-object_overlap);
}
return;
}
@@ -64,5 +63,5 @@ void main()
shaded_color = mix(objectOverlapColor, shaded_color, object_overlap);
#endif /* V3D_DRAWOPTION_OBJECT_OVERLAP */
- fragColor = vec4(linearrgb_to_srgb(shaded_color), 1.0);
+ fragColor = vec4(shaded_color, 1.0);
}