What does HackerNews think of tinyrenderer?
A brief computer graphics / rendering course
Both cpu renderers with texture mapping and Wavefront obj import without further dependencies.
Raytracing in a weekend is also useful: https://raytracing.github.io/
Other important things to learn are what Vector and Fragment shaders are. I think this course is a good intro for it: https://github.com/ssloy/tinyrenderer
Lastly, when you are ready to start writing real graphics code, you might want to consider using something like Metal if you are on macOS. I have found it to have a much better API than OpenGL. Here's a good book on the topic: https://gumroad.com/l/metalbyexample . I haven't used DirectX, but I imagine its probably much better than OpenGL too.
If you do want to use OpenGL, I found these to be good resources: https://open.gl and http://learnopengl.com/
Computer Graphics from Scratch: https://www.gabrielgambetta.com/computer-graphics-from-scrat...
The tiny{raytracer,renderer,kaboom} series: https://github.com/ssloy/tinyraytracer & https://github.com/ssloy/tinyrenderer & https://github.com/ssloy/tinykaboom
Ray tracing a tiny procedural planet: https://casual-effects.com/research/McGuire2019ProcGen/McGui... with the video on https://youtu.be/JvfjYuz7q4I
It covers how graphics libraries like OpenGL go from triangles to screen coordinates, and how they "shade" pixels in those triangles to create an image.
No need to go full shit ape and creation of 3D images in bmp is excellent exercise you should try.
The wiki has lessons in detail: https://github.com/ssloy/tinyrenderer/wiki/Lesson-1:-Bresenh...