Summary
Three.js gives you a lot of materials you can use to skin your geometries. The materials range from the very simple (THREE.MeshBasicMaterial) to the complex (THREE.ShaderMaterial), where you can provide your own vertexShader and fragmentShader programs. Materials share a lot of basic properties. If you know how to use a single material, you’ll probably also know how to use the other materials. Note that not all materials respond to the lights in your scene. If you want a material that takes lighting into effect, you can usually just use THREE.MeshStandardMaterial. If you need more control, you can also look at THREE.MeshPhysicalMaterial, THREE.MeshPhongMaterial, or THREE.MeshLamberMaterial. Determining the effect of certain material properties from just code is very hard. Often, a good idea is to use the control GUI approach to experiment with these properties, as we showed in this chapter.
Also, remember that most of the properties of a material can be modified at...