What are the good choices to start basic graphics programming in C/C++ (both 2D and 3D) for a learner? I want to try out things given in the book (3D math primer). Obviously I don't want to use OpenGL.
I have a machine that has Linux (Debian). What are my choices on Linux to start with? QT or GTK or something else?
Edit: I don't want to use OpenGL because it does most of the interesting work for me. Like, rotation, projection etc. I want to learn those things.
Go through the tutorials in the following link. You don't need any graphics library http://www.codermind.com/articles/Raytracer-in-C++-Introduction-What-is-ray-tracing.html
After doing the tutorials then rewrite the ray tracer in OpenCL and use SDL to display the pixel buffer. Impress your friends with real-time global illumination who think OpenGL is the only way to do graphics.
Take a look at tinyrenderer.
Use OpenGL. You can either use legacy OpenGL and leave the transformation matrices as identity, and do your own rotation projection etc. before calling
glVertex
*, or use modern OpenGL with shaders, where you'll have to implement those features yourself in the vertex shader.For 2D Graphics I recommend SDL Library. It is simple but powerful. The library APIs are native to C/C++ but supports all languages you can think of. You don't have to use OpenGL, but SDL supports it if you decide to use it later on. It also supports most audio and video files. I find it great to work with for a beginner game developer.