threejs-geometry

Create Three.js geometry and mesh structures with BufferGeometry attributes.

Updated Mar 17, 2026
One-click install
npx skills add https://github.com/alexzhang1030/platform-demo --skill threejs-geometry-alexzhang1030
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: threejs-geometry
Source: https://github.com/alexzhang1030/platform-demo/tree/main/.agents/skills/threejs-geometry
Command: npx skills add https://github.com/alexzhang1030/platform-demo --skill threejs-geometry-alexzhang1030

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you create, customize, and optimize 3D geometry in Three.js without manually stitching together low-level vertex data for every scene.

Core Features & Use Cases

  • Built-in Geometry Creation: Generate common primitives like boxes, spheres, planes, cylinders, torus shapes, and text meshes for rapid scene building.
  • Custom Mesh Construction: Define BufferGeometry with positions, indices, normals, UVs, colors, and interleaved attributes for tailored models and materials.
  • Performance Optimization: Use indexed geometry, merge static meshes, and render repeated objects with instancing to reduce draw calls and improve frame rate.
  • Use Case: Build a procedural 3D product demo that combines custom extruded shapes, wireframes, point clouds, and thousands of instanced objects in one scene.

Quick Start

Ask the Skill to help you create a Three.js geometry setup for a specific shape, custom mesh, or instanced scene and include your target performance goal.

Frequently Asked Questions about threejs-geometry

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I optimize Three.js geometry to reduce draw calls and improve frame rate?

Optimize Three.js geometry by using indexed BufferGeometry, merging static meshes, and rendering repeated objects with instancing to reduce draw calls and improve frame rate. These techniques minimize overhead when rendering complex 3D scenes with many objects.

What's the best way to create custom Three.js meshes with specific vertex attributes?

Create custom Three.js meshes by defining BufferGeometry with specific vertex attributes including positions, indices, normals, UVs, colors, and interleaved attributes for tailored models and materials. This allows precise control over 3D geometry structure.

How do I generate built-in Three.js primitives like spheres and cylinders for scene building?

Generate built-in Three.js primitives like boxes, spheres, planes, cylinders, torus shapes, and text meshes for rapid scene building. These standard geometries provide foundational 3D objects without manually defining vertex data.

Does Three.js instancing work for rendering thousands of repeated objects in one scene?

Three.js instancing works for rendering thousands of repeated objects in one scene by using instanced rendering to reduce draw calls and improve frame rate. This approach is ideal for procedural 3D product demos with massive object counts.

Why do I need to recompute normals and bounds when modifying Three.js BufferGeometry?

You need to recompute normals and bounds when modifying Three.js BufferGeometry to ensure correct lighting, accurate collision detection, and proper view frustum culling. Geometry utilities handle merging, centering, scaling, and recomputing these attributes.

Can I create path-based shapes and point clouds using Three.js BufferGeometry?

You can create path-based shapes, lines, points, and point clouds using Three.js BufferGeometry for modeling and optimization tasks. These structures support custom extruded shapes and wireframes alongside standard 3D meshes.