Conversation

Replying to
1. learn linear algebra well. the concepts you will mostly be needing in graphics are * Cross Product * Dot Product * Transformation Matrix * Orthonormal Bases. * intersection calculations. e.g., intersection between ray and sphere focus your efforts on groking the above.
6
75
2. Learn and start using RenderDoc AS EARLY AS POSSIBLE. It will save you so much time in the long run.(or use something similar like Nvidia Nsight, if you prefer that)
1
41
4. OpenGL and DirectX can unfortunately be pretty opaque API:s, to a beginner. If you find them difficult, try your hand at instead writing a ray tracer or a software rasterizer. Once you've done this, the graphics API:s are much easier to grok.
1
25
5. Keep dependencies to a minimum. big libraries can easily waste your time, which takes away time you could be using for coding graphics. In the beginning, the only libraries you will ever need will probably be GLFW and a simple image loader(I use lodepng)
1
28
(of course, as you get more advanced, you will probably need libraries for handling more image formats and handling various mesh file formats.)
1
8
6. For OpenGL, be careful that you don't accidentally learn really old OpenGL versions. Avoid tutorials where they mention stuff like `glVertex3f`.
4
31
7. Now I'm gonna suggest some good beginner's projects. These projects don't take that much code to implement. * blinn-phong shading * bare-bones minecraft renderer. * directional lights, point lights and spotlights. * heightmap rendering
2
41
more projects: * reflection rendering, using cubemaps. * shadow rendering, with shadow maps * view frustum culling. * particle systems. * cloth simulation.
5
45