threejs-materials

Select and configure Three.js materials for visuals and performance.

1|1|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/Entelligentsia/skillforge --skill threejs-materials-entelligentsia
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: threejs-materials
Source: https://github.com/Entelligentsia/skillforge/tree/main/threejs-skills/skills/threejs-materials
Command: npx skills add https://github.com/Entelligentsia/skillforge --skill threejs-materials-entelligentsia

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers understand and apply various Three.js material types to style meshes, textures, shaders, and optimize performance.

Core Features & Use Cases

  • PBR materials for realistic rendering across MeshStandardMaterial and MeshPhysicalMaterial.
  • A full spectrum of material types including MeshBasicMaterial, MeshLambertMaterial, MeshPhongMaterial, MeshToonMaterial, MeshNormalMaterial, MeshDepthMaterial, ShaderMaterial, and RawShaderMaterial with practical guidance.
  • Guidance on when to use each material and how lighting, textures, and environment maps affect the final result.

Quick Start

Create a basic cube with MeshStandardMaterial to begin exploring materials.

Frequently Asked Questions about threejs-materials

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

FAQPage Schema
How do I choose the right Three.js material for my WebGL scene?

Selecting a Three.js material depends on lighting and performance needs. Use MeshBasicMaterial for unlit visuals, MeshStandardMaterial for realistic PBR, and ShaderMaterial for custom WebGL rendering effects.

What is the difference between MeshStandardMaterial and MeshPhysicalMaterial in Three.js?

MeshPhysicalMaterial extends MeshStandardMaterial with advanced PBR properties like clearcoat. MeshStandardMaterial provides standard realistic rendering, while MeshPhysicalMaterial handles complex physical light interactions for higher fidelity.

How do I create a custom shader using Three.js ShaderMaterial?

Use ShaderMaterial or RawShaderMaterial to inject custom GLSL vertex and fragment shaders into the Three.js pipeline. This enables direct WebGL shader experimentation for fully customized real-time visual effects.

When should I use MeshToonMaterial instead of standard PBR materials in Three.js?

Use MeshToonMaterial for stylized cartoon cel-shading rather than realistic lighting. Standard PBR materials like MeshStandardMaterial simulate physically accurate light, while MeshToonMaterial creates distinct gradient-mapped visual styles.

Does MeshBasicMaterial in Three.js react to scene lighting?

MeshBasicMaterial does not react to scene lighting. It renders meshes using solid colors or textures directly, offering high performance for unlit elements where lighting calculations and environment maps are unnecessary.

How do environment maps affect Three.js PBR materials?

Environment maps supply reflective light data essential for PBR materials. They determine how MeshStandardMaterial and MeshPhysicalMaterial render surface reflections and metalness, ensuring accurate real-time visual rendering in WebGL scenes.