THREE.JS / SOURCE CONTRACT 350

One block. Many meshes.

A GLSL3 UniformsGroup packs shared light state into one std140 uniform buffer object. Every specimen reads the same GPU block while the controls mutate its contents without rebuilding the scene.

backend
—
std140 block
—
sample avg / p95
—
Initializing UBOGLSL3

Allocating the shared std140 light block…

This route covers native WebGL2 UniformsGroup ownership and shared-buffer mutation. It does not claim the official gallery's exact assets/pixels, full shared camera/light layout, UBO-array variant, device matrix, or whole-example fidelity.

The three meshes share one material and one GPU block; the changing highlight is the block's light position and intensity.

Open official UBO example ↗
LAB 350 / UNIFORM BUFFER OBJECTS