← Lab index
THREE.JS / DYNAMIC GEOMETRY MODIFIERS

Split sharp edges, keep the topology visible.

This focused contract keeps the official modifier path visible: parse an OBJ fixture, merge coincident vertices, apply EdgeSplitModifier.modify() at a cutoff angle, and compare smooth/flat shading, normal retention, and texture-map ownership.

This route claims the installed OBJLoader, BufferGeometryUtils.mergeVertices(), EdgeSplitModifier.modify(), cutoff-angle and try-keep-normals controls, smooth/flat material policy, a deterministic local OBJ fixture, a labeled CanvasTexture map substitute, sampling, reset, and teardown. The official Cerberus OBJ/JPG assets, GUI/Stats presentation, exact page/pixel composition, arbitrary OBJ dialects, device/compiler/backend matrix, generalized performance, and whole-example fidelity remain separate.

Source: official three.js Edge Split modifier example.