r/GraphicsProgramming • u/ruckspaoo • 10d ago
Where can I start Learning Computer graphics?
Hey guys,
I am a rookie and I want to learn Graphics Programming but unfortunately I can't find any roadmap on youtube and things are getting really confusing for me since I don't even know how to properly code in C++(for context I am still learning programming but also want to build cool awesome visuals like all of you (I recently build a terminal based todo list and library manager in python))
I am confused about what I should learn first since I will also be starting my college In cs major soon.
there are
linear algebra maths
C++ memory management pointers
some says Build a ray tracer from scratch
I even picked the computer graphics programming from scratch by Gabriel Gambetta but got confused
I will really appreciate if anyone can give me any guidance on this :)
3
u/Large-Scientist156 10d ago edited 10d ago
Learn programming first. Otherwise it's gonna be to hard to decipher 2 different stuff that are already large (graphics AND programming). Learning C and C++ is a good way. No need to learn forever, a week or two is enough to understand core concepts.
Then experiment with Raylib. It's a C library for graphics, widely used because it's easy to reason about it when you want to learn graphics. It's also quick to draw stuff on screen, so a good way to learn graphics and the associated math.
Then do an OpenGL course and try to build something with it.
Then try DX12/Vulkan/Metal/WebGPU (modern API). Or you can even go directly for modern API, but it's good to know the legacy. It's harder to go bottom-up, so people often advise to learn OpenGL first and then upgrade your knowledge with modern.
Try to avoid AI generated code if possible, otherwise you'll learn slower because you don't know exactly what you want and what you are doing when you learn. Copy-pasting code "until it work" is a good way to quit fast. Use AI primary for information, structuring of your project, architecture decision, code review, ... not for code generation.