Skip to content

WasmGPU.math.quat.normscl

Summary

WasmGPU.math.quat.normscl normalizes the input and then applies a scalar magnitude. Use it when you need a direction with a prescribed length.

Syntax

WasmGPU.math.quat.normscl(q: number[], scalar: number): number[]
const result = wgpu.math.quat.normscl(q, scalar);

Precision-Specific Wasm Forms

WasmGPU.math.quatf.normscl(out: WasmPtr, q: WasmPtr, scalar: number): void
WasmGPU.math.quatd.normscl(out: WasmPtr, q: WasmPtr, scalar: number): void

These forms use caller-owned pointers to 4-element quaternion blocks in WasmGPU driver memory: binary32 for quatf and binary64 for quatd. 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
q number[] Yes Quaternion input as [x, y, z, w].
scalar number Yes Scalar factor used to uniformly scale components.

Returns

number[] - New quaternion as [x, y, z, w].

Type Details

type Quat = number[]; // expected length: 4 ([x, y, z, w])

Example

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

const q = [0, Math.sin(Math.PI / 8), 0, Math.cos(Math.PI / 8)];
const scalar = 0.5;
const result = wgpu.math.quat.normscl(q, scalar);
console.log(result);

See Also