Skip to content

Rendering References

Angel Ortiz edited this page Aug 24, 2018 · 4 revisions

Here are some of the sources that I found while developing my software Renderer. I hope that by categorizing these and organizing them I might help others who are also building similar projects or just want to learn about some specific beginner topics in CG.

Note that although some sources discuss implementation details using a graphics library such as DirectX or OpenGL — like in any tutorial from LearnOpenGL or Modern OpenGL — I believe they are still relevant even if you are not planning on using any libraries. They are included because they've done a fantastic job explaining concepts in such a way that they can be implemented independent of whatever library you're using.

Feel free to message me with any corrections or dead links you find!


Table of Contents


1.0 - Computer Graphics & Rendering

1.1 - CG Courses

1.2 - Graphics Pipeline Overviews

1.3 - Rasterization

1.4 - Matrix Transforms

1.5 - Reverse Z projection Matrix

1.6 - Backface Culling

1.7 - View Frustrum Culling

1.8 - Shading & Illumination Models

1.9 - Perspective Correct Texture Mapping

1.10 - Tangent Space Normal Mapping

1.11 - Understanding Physically Based Rendering

1.12 - Testing Models & Textures Resources

2.0 - Mathematics

2.1 - Linear Algebra & Vectors

2.2 - Homogeneous coordinates

3.0 - Software Development

3.1 - Understanding CMake

3.2 - SDL2 Single Pixel access

3.3 - Image Reading / Loading

3.4 - Writing a Vector Math Library

3.5 - Understanding SIMD & Autovectorization

3.6 - Multithreading & OpenMP in C++

3.7 - Design Patterns

3.8 - Object-Oriented Design Alternatives

3.9 - How to Architect Engines