Rasterizer Benchmark

Single sphere with adjustable subdivisions and material modes to isolate rasterizer throughput.

Controls

Subdivisions

4
256
import * as EASEL from "easel";

const scene = new EASEL.Scene();
const camera = new EASEL.PerspectiveCamera({
  fov: 45, aspect: width / height, near: 0.1, far: 100,
});
camera.position.z = 5;

const renderer = new EASEL.Renderer({ canvas, width, height });
scene.add(new EASEL.AmbientLight(0xffffff, 0.3));

// Adjust subdivisions and material to benchmark rasterizer
const subs = 32;
const sphere = new EASEL.Mesh(
  new EASEL.SphereGeometry(1.5, subs, Math.floor(subs * 0.75)),
  new EASEL.LambertMaterial({ color: 0x5577dd }),
);
scene.add(sphere);

// Material options:
// new EASEL.LambertMaterial({ color, shading: EASEL.Shading.Flat })
// new EASEL.BasicMaterial({ color })
// new EASEL.ToonMaterial({ color })
// const mat = new EASEL.BasicMaterial({ color }); mat.wireframe = true;