Learning OGL on Droid platform. a bit confused

Hi, first of all I am still a big newbie with OGL, but I am trying my best to wrap my head around it. I am learning on a Android phone using OGL ES. The problem is recently ES 2.0 was adopted, so a lot of samples conflict with the OGES 2.0 book I have. Because the fixed pipeline was removed in 2.0, most samples are obsolete.

Anyway to the question! Is transformations all done through the vertex shader? From the samples I read for ES 1.0, there were functions that did it for you. Now it seems you have to send the transform data to the vertex shader and do it in there. Is this the proper way of doing transformations? Seems easier anyway…

For GLES2, you need to write shaders. However, most platforms that have OpenGL ES2 also have OpenGL ES1 (in all honesty I do not know of a platform that has OpenGL ES2 but does not have OpenGL ES1).

The following is opinion, in particular my opinion: if you are starting out in OpenGL (be it desktop or ES), I advise first to use the fixed function pipeline to get familiar… I am not advising to learn the multi-texturing API of the fixed function pipeline or other funky texturing bits, but to use the fixed function pipeline as a way to get one’s feet wet. By doing so, you will get into action a touch faster and be exposed to bits of the API that are common: texture creation and image specification, buffer objects, draw commands, blending, depth testing, stencil testing/ops, masking, clipping, etc. Once you feel secure in that, chances are by that time you will be familiar coordinate transformations by playing with the API (in particular clip-coordinates) and jumping into shaders will seem natural.

Though that is just my opinion. There are plenty of folks that make reasonable arguments that starting with shaders from the start is better. If you have used other 3D API’s before (such as Direct3D) then your feet are already wet and I advise to start at the shader route, i.e. GLES2.

Lastly, the specification to each of the API’s are a good reference for the APIs (the GL specifications are found at www.opengl.org, under Documentation menu bar, the OpenGL ES 1 and 2 specs are at http://www.khronos.org/registry/gles/.