demo · v139

Volume Budget Calculator

A 512³ uncompressed RGBA volume is half a gigabyte. Medical imaging and volumetric rendering pipelines can't ship that. v139 lets them slice BC or ASTC over the third axis. Dial volume size and codec — see GPU memory drop from gigabytes to megabytes.

512³ voxels

probe

probing WebGPU…

GPU memory
vs uncompressed

memory vs a 4 GB GPU budget

the code

const adapter = await navigator.gpu.requestAdapter();
const device  = await adapter.requestDevice({
  requiredFeatures: [
    "texture-compression-bc",
    "texture-compression-bc-sliced-3d",   // v139: 3D for BC
    "texture-compression-astc-sliced-3d", // v139: 3D for ASTC
  ],
});

const tex = device.createTexture({
  dimension: "3d",
  size: { width: 512, height: 512, depthOrArrayLayers: 512 },
  format: "bc7-rgba-unorm",
  usage: GPUTextureUsage.TEXTURE_BINDING,
});

see also