First of I'd like to note that you'll be better off calling OpenGL a specification and not an API, you can read on why that is the correct term.
But to the actual question. I'd say it really depends on what you want to do, do you like coding things that people have coded for you, just to learn how? Then OpenGL is great. Are you interested in making a game? Then I'd say UDK. Or I wouldn't really recommend UDK, as I have no experiences with it, but it was one of the two options you wanted.
Also note that I did not answer with the idea that you want a job in mind, just because personally I wouldn't hire a game developer who does it only to get a job.
Calm down I was just asking xD
And actually openGL is an API: http://en.wikipedia.org/wiki/OpenGL
I never said I only need a job... I wanted it because it's a good way to understand the professional way to make games.
I wasn't requesting a job... Just asking if openGL is a wanted ability, I don't need any offer unless you
I already have a small indie team.
Not prejudge before meeting
I wasn't judging, and if the tone of my reply seemed to be so, then I'm sorry about, wasn't intended.
But OpenGL is not an API in itself whether Wikipedia says it or not, OpenGL is only a specification written by the ABI which only says what a certain functionality should do, never how it is implemented. Then there is the OpenGL C API, for which the implementation is provided by your driver vendor.
Wow, that is splitting some pretty tiny semantic hairs there.
You are safe calling OpenGL an API, as the standard itself *IS* defining the API that vendors implement. It is the API itself that is standardized!
Hell, even Kronus, the group regulating OpenGL says this: "
OpenGL® is the most widely adopted 2D and 3D graphics API in the industry"
Yet calling it an API takes away some of the beauty of it, like that it is language independent. Also which OpenGL API do you refer to? Although most (if not all) language implementations fallback to the C implementation, it's still fair to say "The OpenGL Python API", also if you insist on calling it an API, you should at least consider it to be multiple when typing it, like for example "You can choose an OpenGL API" and not the. But take note that I said that he would be better of calling it a specification, not that this is a law and that I will flip a table if he doesn't.
I think you may be confusing terms here.
The OpenGL API *is* a C based API.
There used to be a couple of implementations of the API, such as Mesa, or Iris GL, which was the progenitor of OpenGL.
When you mention the Python OpenGL API, or C# OpenGL API, or a library like Java's LWJGL, those are actually bindings, which simply call call the C api using whatever native binding mechanism that language supports.
I was very afraid that I got something wrong in my post, but I'm pretty damn sure that OpenGL isn't a C based API. It is only a specification, and although the Python OpenGL is a binding, if hardware vendors were to make their implementations for those languages instead of C, then it is no longer a binding, and it is the OpenGL Python API. Note that I don't know (and don't think) that it'd be possible with Python. Anyway, the OpenGL C API is only the headers, the hardware vendors provide the implementation for these headers.
Also, aren't hardware vendors making implementations for OpenGL ES Java API for Android? But I digress. If I'm wrong on this, then I'm wrong and I'll research it until I get it right, but I'm pretty sure this is the way it works.