THREE.JS / FOUNDATIONS 105

Same surface. Different ownership.

Shared, cloned, and unique GPU resources can look identical while carrying very different update and disposal costs. Make that ownership visible.

Initializing -

Preparing one shared geometry and a configurable material family.

Objects
-
Materials
-
Textures
-
Draw calls
-
Ownership matrix-

All meshes point at the same material and CanvasTexture.

Renderer accountingscene totals
Geometries
-
Triangles
-
Material version
-
Texture uploads
-

renderer.info.memory and renderer.info.render update after each frame.

Resource lifecycle
create->assign->upload->mutate->needsUpdate->dispose

CanvasTexture marks itself for upload; material shader changes are explicit.

The counters include the stage floor and lights. Compare relative deltas, then try ?forceWebGL=1 for a WebGL2 run.

Next: material families ->
LAB 105 / MATERIAL OWNERSHIP