Skip to content

math.mat4.init

Summary

math.mat4.init builds a matrix from explicit component values. Use it when you need exact control of every matrix element.

Syntax

WasmGPU.math.mat4.init(m0: number, m1: number, m2: number, m3: number, m4: number, m5: number, m6: number, m7: number, m8: number, m9: number, m10: number, m11: number, m12: number, m13: number, m14: number, m15: number): number[]
const result = wgpu.math.mat4.init(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15);

Precision-Specific Wasm Forms

WasmGPU.math.mat4f.init(out: WasmPtr, m0: number, m1: number, m2: number, m3: number, m4: number, m5: number, m6: number, m7: number, m8: number, m9: number, m10: number, m11: number, m12: number, m13: number, m14: number, m15: number): void
WasmGPU.math.mat4d.init(out: WasmPtr, m0: number, m1: number, m2: number, m3: number, m4: number, m5: number, m6: number, m7: number, m8: number, m9: number, m10: number, m11: number, m12: number, m13: number, m14: number, m15: number): void
WasmGPU.math.mat4f.decomposeTRS(outTrs: WasmPtr, m: WasmPtr): void
WasmGPU.math.mat4d.decomposeTRS(outTrs: WasmPtr, m: WasmPtr): void

These forms use caller-owned pointers to 16-element matrix blocks in WasmGPU driver memory: binary32 for mat4f and binary64 for mat4d. Methods with an output pointer write that block instead of allocating a JavaScript array. See WasmGPU.math for allocation, views, aliasing, and release requirements.

Parameters

Name Type Required Description
m0 number Yes Flat column-major element 0 (row 0, column 0).
m1 number Yes Flat column-major element 1 (row 1, column 0).
m2 number Yes Flat column-major element 2 (row 2, column 0).
m3 number Yes Flat column-major element 3 (row 3, column 0).
m4 number Yes Flat column-major element 4 (row 0, column 1).
m5 number Yes Flat column-major element 5 (row 1, column 1).
m6 number Yes Flat column-major element 6 (row 2, column 1).
m7 number Yes Flat column-major element 7 (row 3, column 1).
m8 number Yes Flat column-major element 8 (row 0, column 2).
m9 number Yes Flat column-major element 9 (row 1, column 2).
m10 number Yes Flat column-major element 10 (row 2, column 2).
m11 number Yes Flat column-major element 11 (row 3, column 2).
m12 number Yes Flat column-major element 12 (row 0, column 3).
m13 number Yes Flat column-major element 13 (row 1, column 3).
m14 number Yes Flat column-major element 14 (row 2, column 3).
m15 number Yes Flat column-major element 15 (row 3, column 3).

Returns

number[] - New 4x4 matrix as a 16-number column-major array.

Type Details

type Mat4 = number[]; // expected length: 16 (4x4, column-major)

Example

const canvas = document.querySelector("canvas");
const wgpu = await WasmGPU.create(canvas);

const m0 = 1;
const m1 = 0;
const m2 = 0;
const m3 = 0;
const m4 = 0;
const m5 = 1;
const m6 = 0;
const m7 = 0;
const m8 = 0;
const m9 = 0;
const m10 = 1;
const m11 = 0;
const m12 = 0;
const m13 = 0;
const m14 = 0;
const m15 = 1;
const result = wgpu.math.mat4.init(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13, m14, m15);
console.log(result);

See Also