summaryrefslogtreecommitdiff
path: root/common/shaders/math/utils.wgsl
blob: 85f0bdfcb26bbf0e4df9390b6ce5abfe4a981f13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// General-purpose math utility functions.

// Returns a 2x2 rotation matrix.
fn rot(a: f32) -> mat2x2<f32> {
  let c = cos(a);
  let s = sin(a);
  return mat2x2<f32>(c, s, -s, c);
}

// Fast approximation of tanh.
fn tanh_approx(x: f32) -> f32 {
  let x2 = x * x;
  return clamp(x * (27.0 + x2) / (27.0 + 9.0 * x2), -1.0, 1.0);
}