WasmGPU.compute.kernels.remapScaleF32¶
Summary¶
WasmGPU.compute.kernels.remapScaleF32 remaps float values into normalized scale space using a scale transform.
It applies mode/clamp/gamma/invert settings defined by transform.
Output is an f32 storage buffer with one remapped value per processed element.
Use this for GPU-side normalization before colormapping or threshold visualization.
Syntax¶
WasmGPU.compute.kernels.remapScaleF32(input: StorageBuffer, opts: ScaleRemapOptions): StorageBuffer
const out = wgpu.compute.kernels.remapScaleF32(input, opts);
Parameters¶
| Name | Type | Required | Description |
|---|---|---|---|
input |
StorageBuffer |
Yes | Source f32 values to remap. |
opts |
ScaleRemapOptions |
Yes | Remap config including required transform plus optional count/out and dispatch options. |
Returns¶
StorageBuffer - Output buffer containing remapped f32 values.
Type Details¶
type ScaleRemapOptions = {
encoder?: GPUCommandEncoder;
label?: string;
validateLimits?: boolean;
count?: number;
out?: StorageBuffer;
transform: {
mode: "linear" | "log" | "symlog";
clampMode: "none" | "range" | "percentile";
valueMode: "component" | "magnitude";
componentCount: number;
componentIndex: number;
stride: number;
offset: number;
domainMin: number;
domainMax: number;
clampMin: number;
clampMax: number;
percentileLow: number;
percentileHigh: number;
logBase: number;
symlogLinThresh: number;
gamma: number;
invert: boolean;
};
};
Example¶
const canvas = document.querySelector("canvas");
const wgpu = await WasmGPU.create(canvas);
const input = wgpu.compute.createStorageBuffer({ data: new Float32Array([0, 5, 10]), copySrc: true });
const out = wgpu.compute.kernels.remapScaleF32(input, {
transform: {
mode: "linear", clampMode: "none", valueMode: "component",
componentCount: 1, componentIndex: 0, stride: 1, offset: 0,
domainMin: 0, domainMax: 10, clampMin: 0, clampMax: 10,
percentileLow: 2, percentileHigh: 98, logBase: 10,
symlogLinThresh: 1, gamma: 1, invert: false
}
});
console.log(Array.from(await wgpu.compute.readback.readF32(out)));