Study Materials
Programming
- The C Programming Language (opens in a new tab)
- C Programming: A Modern Approach (opens in a new tab)
- The C++ Programming Language (opens in a new tab)
- The Rust Programming Language (opens in a new tab)
General
- Design Patterns: Elements of Reusable Object-Oriented Software (opens in a new tab)
- Code Complete (opens in a new tab)
- The Pragmatic Programmer (opens in a new tab)
- Microsoft Application Architecture Guide (opens in a new tab)
- Computers as Components (opens in a new tab)
- Beginner's guide to SIMD (opens in a new tab)
- From Nand to Tetris (opens in a new tab)
Maths
Rendering
- Computer Graphics (opens in a new tab)
- Computer Graphics II: Rendering (opens in a new tab)
- Ray Marching and Signed Distance Functions (opens in a new tab)
- Scratchapixel.com (opens in a new tab)
- A Primer On Efficient Rendering Algorithms & Clustered Shading (opens in a new tab)
- How to build a BVH (opens in a new tab)
- Ray Tracing for Graphics (opens in a new tab)
Graphics APIs
- LearnOpenGL.com
- OpenGL Es 3.0 Programming Guide (opens in a new tab)
- Webgl Programming Guide (opens in a new tab)
- VulkanTutorial.com
- Vulkan Samples (opens in a new tab)
- VkGuide (opens in a new tab)
Gamedev
- Game Programming Patterns (opens in a new tab)
- Game Programming Algorithms and Techniques (opens in a new tab)