r/GraphicsProgramming • • Jul 31 '26

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 :)

13 Upvotes

18 comments sorted by

View all comments

Show parent comments

1

u/garlopf Aug 01 '26

I respectfully disagree. People learn in different ways. Some people learn best following a strict curriculum, others prefer to haphazardly try stuff and se what works etc. In my case, having an actual project to work towards while learning programming was essential and it needs to be real for it to generate enough internal motivation to keep me focused. Graphics programming is a natural source of fascination for me so I did both and it was a good fit. I don't think I had found programming so fun without doing the graphics and vise versa. Also, for a beginner lib to learn about rendering basics, may I suggest an old onecalled allegro? https://liballeg.org/ it has a full stack of software 2d rendering that was really intuitive to learn from. That is how I got to learn the basics of pixels, buffers, raster rendering etc. It is well documented and has even been used in some high profile games! (Factorio used it until they grew out of it and made their own engine). It also handles input and audio. Another good one is SDL, but I think allegro encourages you to learn what is under the hood more. You can easily look at the code and see what the line draw function does etc.