Three.js and 3D Graphics Programming

  1. Material and Shading System
    1. Material Architecture
      1. Material Base Class
        1. Common Properties
          1. Rendering States
            1. Uniform Management
            2. Material Types Overview
              1. Unlit Materials
                1. Lit Materials
                  1. Physically Based Materials
                    1. Custom Shader Materials
                  2. Basic Material Types
                    1. MeshBasicMaterial
                      1. Color Properties
                        1. Texture Mapping
                          1. Transparency Handling
                          2. MeshLambertMaterial
                            1. Diffuse Lighting Model
                              1. Light Interaction
                              2. MeshPhongMaterial
                                1. Specular Highlights
                                  1. Shininess Control
                                  2. Utility Materials
                                    1. MeshNormalMaterial
                                      1. MeshDepthMaterial
                                        1. MeshDistanceMaterial
                                      2. Physically Based Rendering Materials
                                        1. PBR Principles
                                          1. Energy Conservation
                                            1. Fresnel Reflectance
                                              1. Microfacet Theory
                                              2. MeshStandardMaterial
                                                1. Metallic-Roughness Workflow
                                                  1. Base Color and Metalness
                                                    1. Roughness and Normal Maps
                                                    2. MeshPhysicalMaterial
                                                      1. Clearcoat Layer
                                                        1. Transmission and Thickness
                                                          1. Sheen and Iridescence
                                                        2. Texture System
                                                          1. Texture Class Architecture
                                                            1. Image Data Handling
                                                              1. Texture Properties
                                                                1. Filtering and Wrapping
                                                                2. Texture Loading
                                                                  1. TextureLoader Usage
                                                                    1. Asynchronous Loading Patterns
                                                                      1. Error Handling
                                                                        1. Progress Tracking
                                                                        2. Texture Types and Applications
                                                                          1. Diffuse Maps
                                                                            1. Normal Maps
                                                                              1. Roughness Maps
                                                                                1. Metalness Maps
                                                                                  1. Ambient Occlusion Maps
                                                                                    1. Displacement Maps
                                                                                      1. Emissive Maps
                                                                                        1. Alpha Maps
                                                                                        2. Advanced Texture Features
                                                                                          1. Texture Atlases
                                                                                            1. Cube Textures
                                                                                              1. Data Textures
                                                                                                1. Render Targets as Textures