Rendering laboratory

Three.js / Hal Wayland WebGPU

Drop one GLB, or one glTF with all referenced files.

Only the selected renderer exists. Camera, scene controls, and the last pick point persist when Run switches renderer.

Core scene controls

Both renderers receive equivalent scene concepts through their native pipelines.

Material
Environment and key light
Material detail

Applies when material override is enabled.

Fill and rim lights
Floor
Presentation

Instances

Transparency

Drag to orbit · Scroll to zoom · Click to pick

Advanced renderer controls
Antialiasing

FXAA applies only to Hal Wayland. Supersampling applies to either active renderer.

Reflections
Hal Wayland bevel

Three.js retains source normals.

Picking and stress

Point —

Three.js 0.185.1 · GTAO · SSR

No shading bevel

Unmounted · Press Run to load the retained model and camera
CPU median — ms GPU avg — ms Models Scene tris Submitted draws Submitted tris Load — ms Resources Selected

Hal Wayland WebGPU · GTAO · SSR

Propagated shading bevel

Unmounted · Press Run to load the retained model and camera
CPU median — ms GPU avg — ms SSR avg — ms Models Scene tris Submitted draws Submitted tris Last upload — ms Decoded Selected Bevel

CPU values use rolling medians. GPU values use rolling means of completed native timer queries. Three.js resource counts and Hal Wayland decoded bytes are different measurements. This page is an inspection laboratory, not a performance benchmark.