Matrix Builtin
Demonstrates the matrix builtin functions determinant and transpose for 2x2, 3x3, and 4x4 matrices.
Rust Source
#![allow(unused)]
fn main() {
#[wgsl]
pub mod matrix_builtin_example {
//! Demonstrates matrix builtin functions: `determinant` and `transpose`.
use wgsl_rs::std::*;
pub fn demo_determinant_2x2(m: Mat2f) -> f32 {
determinant(m)
}
pub fn demo_determinant_3x3(m: Mat3f) -> f32 {
determinant(m)
}
pub fn demo_determinant_4x4(m: Mat4f) -> f32 {
determinant(m)
}
pub fn demo_transpose_4x4(m: Mat4f) -> Mat4f {
transpose(m)
}
}
}
Generated WGSL
fn demo_determinant_2x2(m: mat2x2f) -> f32 {
return determinant(m);
}
fn demo_determinant_3x3(m: mat3x3f) -> f32 {
return determinant(m);
}
fn demo_determinant_4x4(m: mat4x4f) -> f32 {
return determinant(m);
}
fn demo_transpose_4x4(m: mat4x4f) -> mat4x4f {
return transpose(m);
}
Notes
determinantandtransposemap directly to the WGSL builtins of the same names.