-
Notifications
You must be signed in to change notification settings - Fork 1
References
Martin Spasov edited this page Mar 26, 2022
·
18 revisions
The order of topics is also the order in which I implemented them.
- Scratchapixel
- Software Renderer by Angelo1211
- Software Renderer by Zauonlok
- Software Renderer by Ssloy
- Learn OpenGL
- OpenGL 4.4 - Spec
- Mathematics for 3D Game Programming and Computer Graphics, Third Edition
- Fundamentals of Computer Graphics
- Free Linear Algebra Book
- Change of Basis vs Linear Transformation
- Quaternions 1
- Quaternions 2
- Quaternions 3
- Quaternions 4
- Quaternions 5
- Quaternions 6
- Matrix Inversion - Gauss Jordan
- Matrix Inversion - GLU implementation
- Note that the below was not actually implemented as from what i found LU decomposition (crout/doolittle) does not work in all invertible cases.
- Matrix Inversion - LU decomposition 1
- Matrix Inversion - LU decomposition 2
- Matrix Inversion - LU decomposition 3
- Matrix Inversion - LU decomposition 4
- Matrix Inversion - LU decomposition calc 1 - shows different methods
- Matrix Inversion - LU decomposition calc 2 - i think this one uses gauss elimination variant instead of crout/doolittle
- The Bresenham Line-Drawing Algorithm
- Computer Graphics from Scratch - Lines
- Another article on Bresenham algorithm
- A Parallel Algorithm for Polygon Rasterization
- Barycentric Coordinates 1
- Barycentric Coordinates 2
- Barycentric Coordinates 3
- Triangle rasterization in practice
- Euler Angles 1
- Euler Angles 2
- Euler Angles 3
- Euler Angles 4
- Rotation Calculator
- Rotations 1
- Rotations 2
- Rotations 3
- Quaternions - see the Math secion
- Axis-Angle 1
- Axis-Angle 2
- Conversions between representations - Three.js source
- Conversion between representations
- Scratch a pixel - Volumne 1
- Lookat derivation (Camera space -> World space)
- Lookat derivation (World space -> Camera space)
- View matrix derivation
- Perspective projection derivation
- Perspective projection derivation (OpenGL)
- Free camera
- Euler to direction vector (explains the LearnOpenGL article formula)
- Scratchapixel article
- Perspective correct interpolation
- OpenGL Spec linked in the general references also has the perspective correct formula
- OBJ Spec
- MTL Spec
- TGA Spec
- TGA Spec 2
- Endianness
- Convert bytes -> int
- Convert char -> unsigned char
- Convert char -> unsigned char 2
- reinterpret_cast
- OBJ texture ref point
- OBJ texture problem
- [Texture Mapping chapter from Fundamentals of Computer Graphics]
- [Texture Mapping chapter from Mathematics for 3D Game Programming and Computer Graphics]
- Chris Hecker on Texture Mapping
- Perspective correct texture mapper
- Texture Filtering
- Texture Mapping
- OBJ Texture Coords use (0,0) as top left
- Perspective correct interpolation 1
- Perspective correct interpolation 2
- Scratchapixel - Light Simulator
- Scratchapixel - Light Transport
- Scratchapixel - Shading introduction
- Scratchapixel - Mathematics of Shading
- Scratchapixel - Intro to Shading
- Spherical Coordinates
- Lighting and Shading Chapter from Mathematics for 3D Game Programming and Computer Graphics
-
Deriving Lambertian BRDF from first principles
- contains solid angle integral derivation
- PBR - LearnOpenGL
- Chapters 26, 27, 29 from Computer Graphics Principles and Practice
- Chapters 20, 21, 25 from Fundamentals of Computer Graphics
- Physically Based Shading at Disney paper
- Real Shading in Unreal Engine 4 paper
- LearnOpenGL article on normal Mapping
- Chapter 7.8 (Bump Mapping) from Mathematics for 3D Game Programming and Computer Graphics