bnbThree({
w: 540, h: 540,
numFrames: 120,
fps: 20,
record: true,
createScene: (THREE, sketch, globals) => {
const scene = new THREE.Scene()
const geometry = new THREE.IcosahedronGeometry()
const material = new THREE.MeshNormalMaterial()
const mesh = new THREE.Mesh(geometry, material)
scene.add(mesh)
const camera = new THREE.PerspectiveCamera(75, globals.w / globals.h, 0.1, 5)
camera.position.z = 1.8
camera.lookAt(mesh.position)
const renderer = new THREE.WebGLRenderer({ antialias: true })
renderer.setSize(globals.w, globals.h)
renderer.setClearColor(0x1f1f1f)
return (sketch, time, globals) => {
const angle = time * sketch.TAU
mesh.rotation.x = angle
mesh.rotation.y = angle
renderer.render(scene, camera)
return renderer
}
}
})