Build immersive 3D web experiences with Three.js - WebGL/WebGPU library for scenes, cameras, geometries, materials, lights, animations, loaders, post-processing, shaders (including node-based TSL), compute, physics, VR/XR, and advanced rendering. Use when creating 3D visualizations, games, interactive graphics, data viz, product configurators, architectural walkthroughs, or WebGL/WebGPU applications. Covers OrbitControls, GLTF/FBX loading, PBR materials, shadow mapping, post-processing effects (bloom, SSAO, SSR), custom shaders, instancing, LOD, animation systems, and WebXR.
Build high-performance 3D web applications using Three.js - a cross-browser WebGL/WebGPU library.
Use when working with:
Load references/01-getting-started.md - Scene setup, basic geometries, materials, lights, rendering loop
references/02-loaders.md - GLTF, FBX, OBJ, texture loadersreferences/03-textures.md - Types, mapping, wrapping, filteringreferences/04-cameras.md - Perspective, orthographic, controlsreferences/05-lights.md - Types, shadows, helpersreferences/06-animations.md - Clips, mixer, keyframesreferences/07-math.md - Vectors, matrices, quaternions, curvesreferences/08-interaction.md - Raycasting, picking, transformsreferences/09-postprocessing.md - Passes, bloom, SSAO, SSRreferences/10-controls.md - Orbit, transform, first-personreferences/11-materials-advanced.md - PBR, custom shadersreferences/12-performance.md - Instancing, LOD, batching, cullingreferences/13-node-materials.md - Shader graphs, computereferences/14-physics-vr.md - Ammo, Rapier, Jolt, VR/XRreferences/15-specialized-loaders.md - SVG, VRML, domain-specificreferences/16-webgpu.md - Modern backend, compute shaders// 1. Scene, Camera, Renderer
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// 2. Add Objects
const geometry = new THREE.BoxGeometry();
const material = new THREE.MeshStandardMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube);
// 3. Add Lights
const light = new THREE.DirectionalLight(0xffffff, 1);
light.position.set(5, 5, 5);
scene.add(light);
scene.add(new THREE.AmbientLight(0x404040));
// 4. Animation Loop
function animate() {
requestAnimationFrame(animate);
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
}
animate();
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer