I read that sdl is highly recommended, but I don't know much more. |
I prefer SFML over SDL. But they're comparable.
I started with some sdl tutorials but I'm not sure if it can be used for " professional" game development or just learning. |
If you want professional game development, you want to use an existing engine. Some options are Unity, Unreal, and CryEngine.
Very few professional game developers actually write their own engine. Most use and/or modify an existing one. Reinventing the wheel and all that.
But since you say you don't want to use an engine... then probably the most "professional" API you'll get is using OpenGL or DirectX directly.
A good combo for that is to use SFML for window creation/audio/etc... but then don't use it for drawing. Instead do the drawing with OpenGL.
An excellent OpenGL tutorial is here:
http://www.arcsynthesis.org/gltut/
Just one thing more, do people start from 0(without apis or librarys) or is sdl ok? |
It's impossible to write any meaningful program without an api or library. Even "regular" C++ comes bundled with STL, which is a library (that's what the 'L' in STL stands for). IE: if you are #including any header that you didn't write (like <iostream>), then you are using a library.
My advice is dive right in with what you want to do. If you want to make graphical programs, then that's where you should start. SFML and SDL make is reasonably easy... and you shouldn't have any trouble if you're already familiar with the language.