Menu

WAMR3D 0.9.5 : faster WebGPU and WebGL 2 rendering, automatic instancing
📰

WAMR3D 0.9.5 : faster WebGPU and WebGL 2 rendering, automatic instancing

DEV Community: rust·Aymen Naghmouchi·about 13 hours ago
#89cvM7BE
#devtorust#devto#dev#three#webgl
Reading 0:00
15s threshold

WAMR3D is a 3D engine whose core is Rust compiled to WebAssembly, with its own WebGPU renderer and a native WebGL 2 fallback. You write the same code you would write for three.js, and the scene graph, culling, draw ordering and shader generation run in Wasm.

Version 0.9.5 is out. Most of it is about the GPU: how fast a frame reaches it, and how close the picture is to three.js. Let me show you the pictures first.

Reflections that match three.js

Open this page: wamr3d.org/parity/visual/?case=cube_environment

Two MeshStandardMaterial spheres in a cube-map environment: a polished metal ball (roughness 0.05) and a rough dielectric (roughness 0.5). The page draws the scene live with WAMR3D in your browser, next to a stored render from three.js's own WebGPU renderer, and shows the pixel difference between them.

That page is not a demo made for this post. It is one of the 39 visual test cases the engine has to pass before a release. Each case allows a mean difference of at most 1.5 out of 255 per channel.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.