I am thinking about making a 3D game with WebGL (just for conceptual purposes, for now), but all I have never done anything in 3D and have only programmed in PHP for the most part. From what I understand, WebGL is Javascript, which I use heavily in all of my projects, but it is also my understanding that it is very different from regular JavaScript. If I wanted to get a head start to begin trying to figure out how to make 3D applications with WebGL, would there be a certain language that would help me to grasp how to do that better?
I recommend making some JavaScript programs that use the Canvas2D feature before moving on to 3D. The WebGL API is exciting, but there will be other parts to your programs.
Processing is a nice sandbox to learn OpenGL.
It is available for Windows, Linux and Mac OS X.
It offers:
- Java-like syntax
- standalone development environment
- a visual context for 2D Graphics
- an OpenGL library
- Good learning resources
and it's free
To be honest, you're probably better off diving right in rather than trying to learn another language first. Most WebGL programming is in JavaScript, but some is in GLSL (the GL Shader Language, for the part of the code that runs on your graphics card) and while you could learn that by trying out some other version of OpenGL, that wouldn't have any obvious advantages over just diving right in to WebGL directly. It's easy to download a browser that supports it.
I've been teaching myself WebGL by translating some old OpenGL tutorials and documenting things as I go along; like you I have no real 3D background, so you might find them useful.
Take a look at C, the native language of OpenGL, buy the red book and play around a little. It's nice to see where WebGL is influenced from.