New To Game Programming

Firstly, I would like to introduce myself. I am an Electrical Engineer (in the field on Mechatronics). I have developed a strong passion for Game programming and Computer Multimedia. I am currently doing a course (B.A Computer-Generated Multimedia) in Multimedia. I have extensive knowledge of 3DS Max, Adobe Photoshop and Graphical Editing. At the moment, I am doing Programming, entailing comtemporary concepts (QObjects, Generics and containers, Qt Gui widgets etc). I am at the verge of determining which subjects I should enrol for next semester. The University offers 8 subjects all together. 3 subjects are the core subjects. I can choose any two subjects from the remaining 5 and OpenGL is one of these optional subjects.

Now I need some expertise on this. How important is OpenGL for game developments. There are a lot of mixed responses on this question. If I plan on creating a 3D game, would I need to use C++ and openGL, or would C++ and 3DS max be sufficient?

Well hello. First of all, I'm going to ignore some parts of that post, beacause being member of several programming boards for more then 10 years now, I read something like "Hi, I'm new to <subject> and want to write my own game/operating system" on a daily basis and reading a subject line like this already makes me cringe.

Ok. So my opinion to how important OpenGL(R) is for software development in general:

You only have two options nowadays: Direct3D(R) and OpenGL(R). Yes, I know a few people who would now jump up an yell that there is also Mantle, but lets ignore that for a few more years and see how it develops.

Using Direct3D(R) is perfectly fine, if you want to develop for the Windows(R) desktop only. Honestly, I don't see any reason why people keep using Windows(R), I guess it's some sort of stockholm syndrome.

If you want to support any platform other than IBM PC compatible machines running WinDOS, you have no choice other than OpenGL(R) or OpenGL(R) ES. Nowadays, the PC is becoming an increasingly less important platform. I'm not only refering to gaming consoles, almost everybody has an embedded system in their pocket that can run OpenGL(R) ES. We have similar embedded systems in cars, TVs, set top boxes, ... you name it.

I believe that developying for the Windows(R) based desktop PC only is becoming less and less viable and thus, you would like to not use APIs that restrict you to that system.
</opinion>