killop / Resources

Graphics Programming Resources List

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Resources Awesome

A hand-picked list of graphics programming resources by graphics programming virtual meetup attendees

Contribute

Contributions welcome! To submit a PR, please first read the contribution guidelines first. You can also join our Discord Server and make suggestions there.

Table of Contents

Table of Contents

Beginner friendly

Here is a list of resources suitable for beginners, though intermediate or advanced folks can also benefit from them.

  • Learn OpenGL - learnopengl.com is the definitive resource for learning real-time renderer techniques as beginners. Even though it is an OpenGL tutorial, it also teaches rendering techniques at the same time.
  • Ray Tracing in One Weekend series - Those three short books explain basic concepts of path tracing and implement a software renderer from scratch.
  • CMU's introductory to Computer Graphics course - A comprehensive introduction to various topics in computer graphics.
  • Catlike Coding - Focus on C# and shaders in Unity
  • Book Of Shaders - The author introduces shaders from an artistic perspective, and the book covers many topics that more engineering-focused resources such as "Learn OpenGL" won't cover.

Meta-links

Resources that curate other resources. Some of meta links are omitted here if they are mentioned in other categories.

Overview

Books

Courses

Math

Tutorials

Books

Homogeneous Coordinate

Geometric Algebra

Curves and Surfaces

Implementing Math Library

Ray Tracing

Intro to Ray Tracing

Ray Tracing Books

BVH

Variance Reduction

Denoising

GPU Ray Tracing

Rasterization

Graphics Pipeline

Software Rasterization

Graphics Techniques

Depth Buffer

Normal Mapping

Shadow

Ambient Occlusion

Reflection

Transparency

Ray Marching and SDF

Color, HDR, and Tone Mapping

Mipmapping

Sampling

PBR

Shader Programming

Compute

Introduction to compute shader

GPU Architecture

GPU-driven rendering

Parallel Algorithms

Animation

APIs

OpenGL

Vulkan

  • Spec It is a good idea to keep it open while doing Vulkan Programming.

Tutorials

Meta Links

Sychronization

Vulkan Compute

Libraries

  • vk-bootstrap Library that simplify the Vulkan initialization boilerplate.
  • VulkanMemoryAllocator Memory allocation library that simplifies Vulkan memory allocation and provides decent performance.
  • volk Meta-loader for Vulkan that allows you to dynamically load entrypoints required to use Vulkan. It also simplify the use of Vulkan extensions.
  • SPIRV-Reflect - Can be used to extract descriptor and push constant information from SPIRV

Others

WebGPU

Tutorials

Programming

Engine Development

Tools

Debuggers

Assets

About

Graphics Programming Resources List

License:Creative Commons Zero v1.0 Universal