References: 3D Cameras, Lighting Models, Materials & Shaders¶
-
Phong reflection model - Wikipedia - Classical empirical model for calculating ambient, diffuse, and specular illumination of points on a surface in 3D computer graphics for realistic material rendering.
-
OpenGL Shading Language - Wikipedia - High-level shading language based on C, executing parallel vertex and fragment shader programs directly on graphics processing units (GPUs) for high-performance visual effects.
-
Texture mapping - Wikipedia - Technique for mapping 2D image bitmaps and UV coordinate wraps onto 3D polygon mesh surfaces for rich visual detail and realistic surface texturing.
-
The Book of Shaders - Patricio Gonzalez Vivo and Jen Lowe - Self-Published / Online - Gonzalez Vivo and Lowe revolutionized GPU shader pedagogy with their interactive visual fragment shader platform, teaching procedural coordinate math to digital artists and creative coders.
-
OpenGL Programming Guide: The Official Guide to Learning OpenGL (Ninth Edition) - John Kessenich, Graham Sellers, and Dave Shreiner - Addison-Wesley - The definitive Red Book established industry standards for lighting models, camera view matrices, specular highlights, and vertex attributes in modern OpenGL and WebGL pipelines.
-
p5.js 3D Lighting and Material Reference - p5.js Foundation - Documentation for ambientLight(), directionalLight(), pointLight(), ambientMaterial(), specularMaterial(), texture(), and createShader() for advanced 3D surface illumination and custom GPU shading in p5.js.
-
WebGL Shaders and GLSL Fundamentals - WebGL Fundamentals - Detailed guide explaining GLSL types (vec2, vec3, vec4, mat4), attributes, uniforms, varyings, and vertex-to-fragment pipeline data flow in programmable GPU shaders.
-
The Coding Train: Custom WebGL Shaders in p5.js - The Coding Train - Video series demonstrating how to write vertex and fragment shader files (.vert, .frag) and pass mouse/time uniforms into p5.js shaders for generative graphics.
-
Learn OpenGL: Basic Lighting - LearnOpenGL (Joey de Vries) - Acclaimed tutorial explaining diffuse light vectors, normal vectors, specular shininess exponents, and ambient light equations with clear visual diagrams and mathematical derivations.
-
Shadertoy Beta and Fragment Shader Playground - Shadertoy (Inigo Quilez) - World-renowned online community and live GPU code repository demonstrating procedural raymarching, fractals, and lighting in GLSL fragment shaders for creative graphics developers.