v0.8.0
Pre-release
Pre-release
Overview
This release focuses on turning WasmGPU into a more complete engine by combining much broader glTF capabilities, a new nodelink primitive for scientific visualization, linear algebra GPU compute kernels, external WebAssembly interoperability, and renderer performance infrastructure for warmup and occlusion culling.
Commits: v0.7.0...v0.8.0.
Website: https://zushah.github.io/WasmGPU.
Highlights
- Added substantially broader glTF 2.0 runtime fidelity with morph-target import, base and per-node morph weights, morph-weight animation playback, imported node records, extension metadata, safe imported-asset shutdown, texture transforms, material variants, XMP metadata, bound punctual lights, spot lights, node visibility, and animation pointers (e88b636, 97a40f9, fe2098f, b1d278f).
- Added much richer glTF 2.0 material support covering clearcoat, specular, index of refraction, sheen, iridescence, anisotropy, transmission, diffuse transmission, volume, and dispersion, which makes the physically based material model substantially closer to modern glTF assets and more useful for real asset inspection rather than only simple demonstration scenes (52ac80f, d0ca48e, 27bccbb).
- Added the nodelink scientific visualization primitive, with node and edge rendering paths that can represent graph, molecule, and relationship data alongside meshes, pointclouds, glyphfields, overlays, picking, scaling, and colormaps (b1c6f21).
- Added LU factorization and solve compute kernels for real and complex systems, expanding the compute subsystem from general-purpose parallel primitives toward domain-relevant computational science (2213984) (#3).
- Added external WebAssembly interoperability, as a sibling to the existing Python interoperability, so WasmGPU can wrap foreign WebAssembly instances, exports, or memories and create typed views over other linear memories, making it easier to connect additional WebAssembly modules to WasmGPU workflows (104f766).
- Added occlusion culling using previous-frame hierarchical Z-buffer data, with explicit culling statistics and safety rules that keep picking and warmup unfiltered while conservatively excluding ambiguous occluders from capture (d9f2a39).
- Added renderer warmup and configurable WebGPU device-limit requests, so applications can prepare render paths more deliberately and request larger buffer or binding limits when the workload requires them (263ba26, 2feb6dd).
- Added per-point coloring for pointclouds, allowing pointcloud data to use explicit RGBA color buffers in addition to scalar-driven colormaps, just like glyphfields and nodelinks (5b548dd).
- Fixed glTF animation robustness by refreshing animation sampler views after WebAssembly allocations, preventing stale memory views from corrupting animation playback after importer-side allocation activity (55169d6).
- Fixed close-range camera inspection by further relaxing the perspective near clip (8debbcf).
- Added a benchmark that exercises both rendering and computing and compares WasmGPU's performance against Three.js and Babylon.js (e92ceb6, f2525e8, 8a3d5dd).