What to learn to be a graphics programmer(blog.demofox.org)
372 points by atan2 18 hours ago | 192 comments
tl;dr: Graphics programming splits into two tracks: CPU-side (modern explicit APIs like DX12/Vulkan/Metal in C++) and GPU-side (lighting math, PBR, path tracing, shader languages like HLSL/GLSL). The author recommends building a portfolio with an engine-like renderer using PBR and a separate path tracer for verification, starting with resources like "Ray Tracing in One Weekend," LearnOpenGL's PBR section, and eventually PBRT. Required math is minimal—linear algebra, trig, some calculus—and C++ remains the dominant language, though Rust and WebGPU have small footholds.
HN Discussion:
  • ~Distinguish between making games (use existing engines) versus doing 3D engine programming from scratch
  • Don't pursue graphics programming as a career due to field instability and AI disruption
  • Article overlooks crucial non-technical foundations like design principles and human perception
  • ~Learn graphics for curiosity and joy, not as a career or monetary goal
  • Supplementary learning resources and gentler entry points (web/A-Frame, Khan Academy, color management)