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:
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl')
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl17
1 files changed, 17 insertions, 0 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 e9d9b8c02e8..1902a9587d2 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl
@@ -33,3 +33,20 @@ 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)
+ );
+} \ No newline at end of file