List of freely available resources to study computer graphics programming.
- Learn C++
- Essence of Linear Algebra
- 3D Math Primer for Graphics and Game Development
- Ray Tracing in One Weekend
- Tiny Software Renderer
- Learn OpenGL
- Graphics Programming – Where To Start?
- Getting Started In Computer Graphics
- How Do I Become a Graphics Programmer?
- How to Start Learning Computer Graphics Programming
- Finding Your Home in Graphics Programming
- What Is A Graphics Programmer?
- Self-Starting As A 3D Graphics Programmer
- Learn C++
- Hacking C++
- C++ Reference
- Modern C++ Features
- C++ Programming Exercises
- Advent of Code
- Project Euler
- Cpp Quiz
- Projectbook
- Trigonometry
- Essence of Linear Algebra
- 3D Math Primer for Graphics and Game Development
- Immersive Math
- Linear Algebra Done Right
- Linear Algebra Done Wrong
- Introduction to Applied Linear Algebra
- Math for Game Developers
- Math for Game Programmers
- How do Video Game Graphics Work?
- 3D Graphics Overview
- Computer Graphics from Scratch
- Scratchpixel: Learn Computer Graphics Programming
- Ray Tracing in One Weekend
- Rasterization in One Weekend
- Tiny RayTracer
- Tiny RayCaster
- Tiny Renderer
- A Trip Through the Graphics Pipelines for Young Bloods
- A Trip Through the Graphics Pipeline
- A Trip Through The Graphics Pipeline
- Breaking Down Barriers
- Learn OpenGL
- OpenGL Step By Step
- OpenGL Tutorials
- OpenGL Introduction
- Anton's OpenGL 4 Tutorials
- Best Practices for Modern OpenGL
- A Guide to Modern OpenGL Functions
- Docs GL - OpenGL Documentation
- Vulkan Spec
- API Without Secrets
- Vulkan In 30 Minutes
- Vulkan Guide
- Vulkan Tutorial
- Vulkan Examples
- I am Graphics and So Can You
- Writing an Efficient Vulkan Renderer
- Vulkan Synchronization Primer - Part I
- Vulkan Synchronization Primer - Part II
- If You're Serious About Pursuing a Career in Computer Graphics
- How to Read Rendering Research Papers
- Game Programmer Resume Tips
- Applying for Entry Level Graphic Jobs in Games
- Leetcode for Graphics Interviews?
- Interviewing for Junior Programming Positions
- Junior Graphics Programmer Interview Questions
- Interview Questions
- Interviewing Graphics Programmers
- Insider Guide to Tech Interviews
- Interviewing for Game Programming
- How to Get A Job in Game Design
- DirectX 11 Documentation
- Learn DirectX 11
- DirectX 11 on Windows 10 Tutorial
- Minimal D3D11, Part I
- Minimal D3D11, Part II
- Minimal D3D11, Part III
- DirectX 12 Documentation
- DirectX 12 Spec
- Microsoft's DirectX Samples
- A Gentle Introduction to DirectX 12
- Learning DirectX 12
- GPU Memory Pools in D3D12
- Nvidia's API Performance Blog
- Metal Documentation
- Getting Started with Metal-cpp
- Metal Tutorial
- MacOS Metal with C++
- 3D Game Engine with C++ and Metal