Geometry Parameters

Adjust segment count on Sphere, Torus, Cylinder, and Cone.

Controls

Segments

4
64
import * as EASEL from "easel";

const scene = new EASEL.Scene();
const size = 5;
const camera = new EASEL.OrthographicCamera({
  left: -size * aspect,
  right: size * aspect,
  top: size,
  bottom: -size,
  near: 0.1,
  far: 100,
});

// Rebuild geometry when segments slider changes
function buildGeometry(shape, segments) {
  if (shape === "Torus")
    return new EASEL.TorusGeometry(0.9, 0.35, segments, segments * 2);
  if (shape === "Cylinder")
    return new EASEL.CylinderGeometry(0.7, 0.7, 1.8, segments);
  if (shape === "Cone")
    return new EASEL.ConeGeometry(0.9, 1.8, segments);
  return new EASEL.SphereGeometry(1.1, segments, Math.floor(segments * 0.75));
}

// On param change: remove old meshes, rebuild with new segments, re-add.
scene.remove(mesh);
mesh = new EASEL.Mesh(buildGeometry(shape, segments), material);
scene.add(mesh);