A material is a shader program plus its uniforms and render state. Three.js 30,815 writes the GLSL for you, compiles one program per distinct combination of features, and caches it (Program Caching).
MENU
Materials and PBR
Materials and Physically Based Rendering