Three.js and 3D Graphics Programming

  1. Shader Programming and GLSL
    1. GLSL Fundamentals
      1. Shader Pipeline Integration
        1. Vertex Shader Role
          1. Fragment Shader Role
            1. Shader Communication
            2. GLSL Syntax and Structure
              1. Variable Declarations
                1. Function Definitions
                  1. Control Flow
                    1. Preprocessor Directives
                    2. Data Types and Operations
                      1. Scalar Types
                        1. Vector Types
                          1. Matrix Types
                            1. Sampler Types
                              1. Type Conversions
                            2. Shader Development in Three.js
                              1. ShaderMaterial
                                1. Vertex and Fragment Shader Definition
                                  1. Uniform and Attribute Binding
                                    1. Built-in Uniforms and Attributes
                                    2. RawShaderMaterial
                                      1. Manual Attribute Handling
                                        1. Custom Vertex Processing
                                          1. Performance Considerations
                                          2. Shader Chunks and Includes
                                            1. Three.js Shader Library
                                              1. Code Reuse Patterns
                                                1. Custom Shader Chunks
                                              2. Advanced Shader Techniques
                                                1. Lighting Calculations
                                                  1. Phong Lighting Model
                                                    1. Blinn-Phong Model
                                                      1. PBR Implementation
                                                      2. Texture Sampling
                                                        1. UV Manipulation
                                                          1. Multi-texture Blending
                                                            1. Procedural Textures
                                                            2. Vertex Displacement
                                                              1. Height Maps
                                                                1. Noise Functions
                                                                  1. Animated Displacement
                                                                  2. Fragment Effects
                                                                    1. Color Grading
                                                                      1. Distortion Effects
                                                                        1. Procedural Patterns