0

After doing android programming for over a year, I think it's time to notch up things a little bit and what is a better way than OpenGl.

I would like to know which version of OpenGL ES should I learn, as I am a complete beginner.

genpfault
  • 51,148
  • 11
  • 85
  • 139
Mohit
  • 1,045
  • 4
  • 18
  • 45

2 Answers2

0

I just started to learn Open GLES on Android (with no experience of Open GL before). I wasn't that interested in learning Open GLES, just getting my graphics to work (to set up a coordinate system and to draw images on it).

I read that it would be easier to learn GLES10 than to learn GLES20, so I went with GLES10. However, drawing an image in Open GL turned out to be a much more complex operation than I expected, and I thought that if I were going to learn all this, I might just as well learn GLES20, so I changed to that instead.

There aren't that many simple tutorials showing you how to draw images in Open GLES. Android's tutorial is quite bad. The code they show on the page is not the same as the code in the "Download the sample" link, the author of the tutorial seem to have made some mistakes, and it doesn't show you how to draw an image. Instead I would recommend this tutorial, although it's not as good as what I was looking for.

I know that my text doesn't answer your question, but I'm just sharing my thoughts in case you find them useful.

Community
  • 1
  • 1
Peppe L-G
  • 7,351
  • 2
  • 25
  • 50
  • Thanks for the tutorial, its quite better than what I have came across until now. And do point me to any other tutorials or ebooks you are referring. – Mohit Dec 09 '14 at 10:37
-1

Your question should be closed since the answer to it would be completely subjective. Where it comes to the ES version there is no "better", only "better for your needs". I suggest you pick either ES1 or ES2.

There is a huge difference between the ES1 and the ES2 where the ES1 is still using a fixed pipeline and the ES2 is not. What that means is you will have to learn shaders in order to use ES2 and a lot of very handy tools such as a matrix stack are removed in ES2 due to the shaders. There are other libraries replacing those functionality but you still do need to understand them a bit more then in fixed pipeline.

So the ES1 is probably much easier for a beginner since you can have a nice drawing in a very short time but you will want to migrate to higher versions as quick as possible at which point most of the ES1 stuff will be useless to you. The ES2 can be a real pain to begin with and once you understand how things work you have quite a lot of power working with it, still that might take quite some time.

Also most of the current topics considering the openGL and the Android are targeting the ES2 version which means you will have most updated sources around the web.

Still in the end the choice is yours. I know I have not given you the answer but still I hope this helps you understand a bit what you are working with.

Matic Oblak
  • 16,318
  • 3
  • 24
  • 43
  • It seems ES2 can be a bit hard to start with but thats what is most widely used as of now. So I should start with that. Thanks for the answer. – Mohit Dec 09 '14 at 08:35
  • @Mohit ES2 also leans closer to the modern desktop openGL pipeline – ratchet freak Dec 09 '14 at 08:37
  • It is harder to begin with but even if so you can get more or less all the components on the web, the problems are (with any version) to understand them, to understand how it all fits together and to create a nice structure of the application (to separate components into classes, modules...). Look at this answer just to get a taste: http://stackoverflow.com/questions/27164139/opengl-es-startup/27165907#27165907 – Matic Oblak Dec 09 '14 at 08:42
  • What about ES3, should I try that directly or migrate to it after ES2? – Mohit Dec 09 '14 at 08:43
  • Migrating to ES3 makes little difference. More or less everything working on ES2 will also work on ES3 so it is more or less just an upgrade. In the beginning there is no reason for you to need any advanced elements from the ES3 and I don't know how many devices even support the ES3 on the Android. The same can not be said for the ES1 to ES2 as most elements are removed in that transition and you need a whole new application structure. It would not hurt starting with the ES3 but then again you might have trouble finding some nice examples of ES3 on the web at the moment. – Matic Oblak Dec 09 '14 at 08:52