Chapter 829: Material Feature Table (Manual)
Core Idea
The official manual includes a feature-support matrix for three.js's Mesh materials (e.g. which materials respond to lights, support normal/bump maps, environment maps, flat shading, wireframe, etc.). The matrix itself is a large reference table rather than prose, so consult the live page on threejs.org for the authoritative, up-to-date grid — this chapter intentionally does not reproduce specific cell values to avoid stating outdated or incorrect support claims.
Key Concepts
- Mesh materials as a family:
MeshBasicMaterial, MeshLambertMaterial, MeshPhongMaterial, MeshStandardMaterial, MeshPhysicalMaterial, MeshToonMaterial, MeshNormalMaterial, MeshMatcapMaterial, and others each support a different subset of features.
- Typical comparison axes: whether a material is affected by lights, whether it supports maps (color, normal, bump, environment, ao, emissive, roughness/metalness), whether it supports flat shading, vertex colors, wireframe, and morph/skinning.
- Why this matters: picking the cheapest material that still supports the features your scene actually needs (e.g.
MeshLambertMaterial instead of MeshStandardMaterial when you don't need physically-based specular) is a real performance lever.
Key Takeaways
- Not all Mesh materials support the same feature set — check the official comparison table before assuming a feature (e.g. environment maps, flat shading) is available on a given material.
- Prefer the least expensive material that satisfies your visual requirements; unlit or simpler-lit materials render faster than
MeshStandardMaterial/MeshPhysicalMaterial.
- This is a reference/lookup page in the source docs, not a tutorial — treat the live table on threejs.org as the source of truth for exact per-material support.
Connects To
- Materials reference chapters: each Mesh material's own reference chapter in this skill documents its specific properties in detail.