5 ms·
Linear algebra is really important for graphics programming, but there's really only a handful of concepts you need to get started (vectors, matrix operations (
by zffr 6y ago
Linear algebra is really important for graphics programming, but there's really only a handful of concepts you need to get started (vectors, matrix operations (rotation, translation, scale)). This course is relatively short and should give you a good background on these topics: https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2x... . For me, I learned more from the course than my college level linear algebra class.
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 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 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 https://open.gl and http://learnopengl.com/ http://learnopengl.com/
- Flex247A 6y agoThanks!
- threatofrain 6y agoIMO 3B1B's course for linear algebra is not good for Learning linear algebra, but it is great for Augmenting your geometric intuition. I don't believe his course ever claims any different. I'd recommend instead Gilbert Strang, who teaches a full and well reputed course over at MIT. https://www.youtube.com/watch?v=Cx5Z-OslNWE&list=PLUl4u3cNGP63oMNUHXqIUcrkS2PivhN3k&index=1 https://www.youtube.com/watch?v=Cx5Z-OslNWE&list=PLUl4u3cNGP...
- arduinomancer 6y agoJust to add here I wouldn't recommend TinyRenderer for beginners without first doing a normal graphics course. I recently completed it and found the explanations really lacking for a lot of stuff. I had to do a lot of Googling outside of the course material to understand why we were doing things certain ways, and this is from someone who has already taken a few graphics classes in the past. It's good as a guide on implementing a renderer from scratch though if you already know what's going on. I would say for beginners: Linear Algebra --> graphics course --> tiny renderer if interested
- zffr 6y agoInteresting! My experience was a little different. I've never taken a formal graphics course, and was struggling with understanding shaders while self-teaching myself graphics programming. For me, I couldn't really understand what vertex/fragment shaders were or why someone would design graphics libraries to use them until going through TinyRenderer. What helped me was being able to see an actual implementation of a vertex/fragment shader (and the renderer that used them) in regular code that I could understand/inspect.