I'm Beginning/Intermediate in C++ and will continue down that line, but what choices should I take towards graphics and game programming?
For now it is just a hobby but I would like to expand into some programming field eventually. What would be best to learn indepth to go out and program a game (or engine).
Simple reply: DirectX or OpenGL (for professional games)
If anyone knows the answers to any of these questions would you mind letting me know your opinion?
1) I'm not sure about DirectX based games: can they run on Linux and Mac's? the same as OpenGL?
1.b) If so what is the real difference? just different efficiency/powerful fields? Like comparing Java to C++.
2) Which would be used for a retail game? (higher percent would therefor be better to learn)
3) About some library called Glut for OpenGL: would it be best to learn this with OpenGL or program my own window creation functions? would learning that library leave me limited to know those library functions instead of the real ones when making a real game?
4) You can't run win32 API programs on Macs right? (but you can on Linux) so why use win32 API for game programming and not use DirectX or OpenGL's GUI?
4.b) Or should I not worry about that? everyone uses windows programming for their games and simply get someone to convert a version to Mac?
5) Bother learning to use Allegro library? I know its sort of like an introduction to 2D graphics, but is it actually used in real games (and not just beginners, demo games)? I'd assume 2D graphics would be in DirectX programming.
6) Sort of already asked this, but windows game programming is really the only real game programming isnt it? I know thats a stupid question because how would Mac's ever run a game, but I mean on windows without using win32 or winthreads or whatever, how else would you ever create a window. Hence most professional games (if not all) use win32 or winthreads, etc. or do they use DirectX/OpenGL GUI? Most tutorials I see use windows.h
Thanks in advance for any help , and please ignore any of my ignorance on the subject. Just trying to clarify so I dont end up taking a path and changing my mind, even though I'll probably have to end up learning DirectX and OpenGL since projects vary, which is only if I ever participate in a project not using a pre-made engine.