I have been programming for a year so far and I know 2 languages: C and C++. I've covered the basics, I've written functional windows programs, and I've written complicated bits of code. When I was using Turbo C for learning the C language I noticed a library called "Graphics.h". I've looked it up and I received amazing examples of graphics manipulation. My question is straightforward. How can I get started with learning graphics in C++? Is there a good tutorial that covers it all up?
Back in the graphics.h days each compiler had it's own limited graphics library.
Now you program to either DirectX (Microsoft) or OpenGL (everywhere). After a few years of being sidelined to high-end Unix cad OpenGL/OpenGLEs is making a big splash on mobile devices
For a list of books see https://stackoverflow.com/questions/5926357/c-opengl-books
One warning - there are a lot of 20year old out of date opengl tutroials on the web - start here An intro to modern OpenGL.
ps. Some of the maths of 3D graphics (matrix transformations etc) might be beyond what you have covered in school but it's very easy - you just have to sit down and work through it. But do go through all the math until you understand it, you will need it!
A simple graphics library is the Simple Fast Multimedia Library for C++ which is cross platform, modern and very easy.
SFML provides a simple interface to the various components of your PC, to ease the development of games and multimedia applications. It is composed of five modules: system, window, graphics, audio and network.
With SFML, your application can compile and run out of the box on the most common operating systems: Windows, Linux, Mac OS X and soon Android & iOS.
Pre-compiled SDKs for your favorite OS are available on the download page...
SFML has official bindings for the C and .Net languages. And thanks to its active community, it is also available in many other languages such as Java, Ruby, Python, Go, and more.
Learn more about them on the bindings page...
Alternatively you could use OpenGl (I would prefer due to platform independence) or DirectX.