I am a beginner programmer, and I want to learn how to do graphics. I don't know which api to use. I want to be able to do 2d and 3d. Should I use directx? Or sdl, or sfml? Or is there a different API, that can be used professionally? If someone could recommend a tutorial for whatever they suggest that would be great. Please explain why the api would be good.
There is openGL, which is used professionally for cross-platform things. However, it can be complicated. I don't know what SFML is like, but from its name (Simple Fast Media Library) I would assume its not to bad.
For tutorials, http://nehe.gamedev.net/ has a great set of tutorials, though they are Windows only. (Then again, we are in the Windows forum, so I would assume that would be fine. The ideas can still be transferred to other platforms too.)