What are the differences between OpenGL ES and OpenGL ?
OpenGL ES is simply the OpenGL api for embedded systems (OpenGL ES refers to OpenGL Embedded Systems). so its a subset of OpenGL and widely used in cell phones and some VR systems it's designed for less sophisticated hardware . OpenGL ES has less terms and functions than OpenGL , think of it as : you take just what you need for that system because if we dont need a function in whole our work or the hardware can't deal with it, so no mean to add that function but in this makes the use of this API more hard because of the need to write more Shaders and complicated codes to make something simple because OpenGL ES does not provide Shaders in the graphics pipeline as OpenGL. the last version of OpenGL ES is 3.2 it can now provide support Tessellation for additional geometry details, new geometry shaders. so I advise you to start learning or using OpenGL ES 3.0+ (in case its your target language) because now and the next generation will not use the old versions with more powerful hardware and graphics cards and if your target is OpenGL start with v3.3+ or 4.0+. if you have more time no problem to make a quick view on the old versions for more understand how was the things get developed and why. you can check this link for more details : https://en.wikipedia.org/wiki/OpenGL_ES