diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2021-09-26 23:57:26 +0200 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2021-09-26 23:57:26 +0200 |
| commit | c5119193ffaedf4ac94fecfb434a3292a4746259 (patch) | |
| tree | 398031c5d1e920fec21e53feacd1d55ba8a79dad /shaders/include/color_utils.h | |
| parent | bbba71cfe5a9545f1a87c70eb3cab3b6b08b1b25 (diff) | |
Refactor gltf loading and triangles attributes
Diffstat (limited to 'shaders/include/color_utils.h')
| -rw-r--r-- | shaders/include/color_utils.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/shaders/include/color_utils.h b/shaders/include/color_utils.h new file mode 100644 index 0000000..11c2d9e --- /dev/null +++ b/shaders/include/color_utils.h @@ -0,0 +1,26 @@ +vec3 linear_to_srgb(vec3 color)
+{
+ color = clamp(color, 0.0f, 1.0f);
+
+ return mix(
+ pow(color, vec3(1.0f / 2.4f)) * 1.055f - 0.055f,
+ color * 12.92f,
+ less_than(color, 0.0031308f)
+ );
+}
+
+vec3 srgb_to_linear(vec3 color)
+{
+ color = clamp(color, 0.0f, 1.0f);
+
+ return mix(
+ pow(((color + 0.055f) / 1.055f), vec3(2.4f)),
+ color / 12.92f,
+ less_than(color, 0.04045f)
+ );
+}
+
+float luminance(vec3 rgb)
+{
+ return dot(rgb, vec3(0.2126f, 0.7152f, 0.0722f));
+}
|
