summaryrefslogtreecommitdiff
path: root/common/shaders/math/color.wgsl
diff options
context:
space:
mode:
Diffstat (limited to 'common/shaders/math/color.wgsl')
-rw-r--r--common/shaders/math/color.wgsl16
1 files changed, 8 insertions, 8 deletions
diff --git a/common/shaders/math/color.wgsl b/common/shaders/math/color.wgsl
index b63c915..9352053 100644
--- a/common/shaders/math/color.wgsl
+++ b/common/shaders/math/color.wgsl
@@ -2,26 +2,26 @@
// sRGB to Linear approximation
// Note: Assumes input is in sRGB color space.
-fn sRGB(t: vec3<f32>) -> vec3<f32> {
- return mix(1.055 * pow(t, vec3<f32>(1.0/2.4)) - 0.055, 12.92 * t, step(t, vec3<f32>(0.0031308)));
+fn sRGB(t: vec3f) -> vec3f {
+ return mix(1.055 * pow(t, vec3f(1.0/2.4)) - 0.055, 12.92 * t, step(t, vec3f(0.0031308)));
}
// ACES Filmic Tone Mapping (Approximate)
// A common tone mapping algorithm used in games and film.
-fn aces_approx(v_in: vec3<f32>) -> vec3<f32> {
- var v = max(v_in, vec3<f32>(0.0));
+fn aces_approx(v_in: vec3f) -> vec3f {
+ var v = max(v_in, vec3f(0.0));
v *= 0.6;
let a = 2.51;
let b = 0.03;
let c = 2.43;
let d = 0.59;
let e = 0.14;
- return clamp((v * (a * v + b)) / (v * (c * v + d) + e), vec3<f32>(0.0), vec3<f32>(1.0));
+ return clamp((v * (a * v + b)) / (v * (c * v + d) + e), vec3f(0.0), vec3f(1.0));
}
// HSV to RGB conversion
-const hsv2rgb_K = vec4<f32>(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
-fn hsv2rgb(c: vec3<f32>) -> vec3<f32> {
+const hsv2rgb_K = vec4f(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
+fn hsv2rgb(c: vec3f) -> vec3f {
let p = abs(fract(c.xxx + hsv2rgb_K.xyz) * 6.0 - hsv2rgb_K.www);
- return c.z * mix(hsv2rgb_K.xxx, clamp(p - hsv2rgb_K.xxx, vec3<f32>(0.0), vec3<f32>(1.0)), c.y);
+ return c.z * mix(hsv2rgb_K.xxx, clamp(p - hsv2rgb_K.xxx, vec3f(0.0), vec3f(1.0)), c.y);
}