Skip to content


Angel Ortiz edited this page Dec 8, 2018 · 24 revisions

Most of the time spent building a project like this is actually not dedicated to coding or bug fixing but mostly focused on researching and understanding the background of whatever feature you're trying to implement. Naturally, you end up accruing a huge list of links to blogs or papers or other miscellaneous articles that you referenced at some point or another, which usually end up being abandoned after you move on. I think it would be a shame if that were the case, so I've categorized and kept track of all the links I found useful with the hope that I might help others who are also building similar projects or just want to learn about some specific topics in Computer graphics (CG).

I did something similar during my previous project too! You can check it out here. Although there's some overlap between both projects, there are some links to more foundational topics in CG over there that might be more useful if you're just starting out or have a particular interest in Software Rendering.

Feel free to message me with any corrections, dead links or cool articles that I haven't included but you think I totally should!

Table of contents

Table of contents generated with markdown-toc

1.0 Computer Graphics Techniques

1.1 Shading Algorithm Overviews

1.2 Deferred Shading

1.3 Cluster Forward Rendering

1.4 General Purpose learning Resources

1.5 Image Based Lighting

1.6 Physically Based Rendering

1.7 Shadow Mapping

1.8 Normal Mapping

1.9 ZBuffer

1.10 High Dynamic Range (HDR)

1.11 Screen Space Ambient Occlusion

1.12 Screen Space Reflections

1.13 Screen Space Pixel Shaders

1.14 Global Illumination

2.0 GPU Programming and Parallel Computer Architectures

2.1 Understanding Parallelism

2.2 Compute Shaders

2.3 GPU architecture

2.4 Shader Debugging

3.0 Software Development

3.1 SDL2

3.2 Data Oriented Design

4.0 OpenGL

4.1 Learning resources

4.2 OpenGL talks

4.3 Specific OpenGL quirks/issues I've run into

Clone this wiki locally
You can’t perform that action at this time.