WebGL-Library für 3D-Szenen, Kameras und Effekte im Browser.
Three.js ist die De-facto-Library für WebGL — Szenen, Kameras, Materialien, Loader, Post-Processing. Imperativ, low-level genug für volle Kontrolle, hoch-level genug für schnellen Einstieg.
pnpm add three
pnpm add -D @types/three
import * as THREE from 'three'
const scene = new THREE.Scene()
const camera = new THREE.PerspectiveCamera(75, w/h, 0.1, 1000)
const renderer = new THREE.WebGLRenderer({ antialias: true })
renderer.setSize(w, h)
scene.add(new THREE.Mesh(geo, mat))
renderer.render(scene, camera)
requestAnimationFrame-Loop für Render-Updates, niemals setInterval.three/examples/jsm/controls/ für Mouse-Steuerung.dispose() explizit aufrufen — Three managt kein GC für GPU-Ressourcen.dispose()renderer.setSize + camera.aspect + updateProjectionMatrix.pixelRatio auf Retina nicht setzen → blurry. Aber: Math.min(2, window.devicePixelRatio) als Cap.OutlinePass, EffectComposer-Imports) — Changelog lesen.Reines 2D oder einfache Charts → Canvas-API / PixiJS / D3 reichen. WebGPU-only-Projekte → Babylon.js oder native WebGPU. In React fast immer @react-three/fiber als Wrapper.