Jump to content
  • Advertisement
Sign in to follow this  
Jacky77

OpenGL Since Opengl is the super set of opengl es , do I need to learn opengl es later on ?

This topic is 1331 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey

 

Sorry if this question seems stupid , but I searched and I didn't find any result , and I don't want to waste my time learning opengl if I need to learn opengl es later anyways.

 

My plan is to program games in android " I already know how to program using the sdk provided but I want to develope games "

I found that opengl es is the right choice for me , but my question is , if I learn opengl in c++ and later move to opengl es " java " , do I need to learn opengl es ? or learning opengl is enough ?

Share this post


Link to post
Share on other sites
Advertisement
For learning purposes, GL would work. You need to be a bit careful, though. Most of the "easy mode" learning tools for OpenGL will focus on the fixed-function stuff that is completely gone in GLES 2/3. Most of the modern "right way" learning tools for OpenGL will focus on features and functionality not present in GLES. Stick to materials that are explicitly for GLES for the most part (like http://www.learnopengles.com/) and you'll be fine. There will be some adjustments necessary when moving to mobile and GLES, but they'll be small if you take this advice.

Share this post


Link to post
Share on other sites

OpenGL ES 3/3.1 is a subset of OpenGL 4.0 (actually, I'd need a refresher of what OpenGL 4.0 has that isnt present on OpenGL 3.3). You get most of the "modern" stuff, VAOs, UBOs, FBOs, samplers, etc. Both APIs works the same, bind VAO, add attributes, bind FBO, attach textures, select texture slot, bind texture to it, etc.

 

On the other hand, OpenGL ES 2 is a mix and match between OpenGL 2 and OpenGL 3, some stuff isn't easily translated.

 

So, if you start with OpenGL 3.2+ core profile exclusively, you can move easily enough to OpenGL ES 3, and vice versa. For the most part in OpenGL ES 3 you'll find that many functions allow for less ways of shooting your foot (ie, not having 8 different default frontbuffer bindings), which is nice.

Edited by TheChubu

Share this post


Link to post
Share on other sites

but my question is , if I learn opengl in c++ and later move to opengl es " java "

Why not just use OpenGL ES in C++ on Android? Assuming you already know C++ (you didn’t say you do).
Or if you already know Java, why not just start learning OpenGL ES on Android via Java?

Either way, if your goal is to make games for Android, why aren’t you learning to make games on Android?


L. Spiro

Share this post


Link to post
Share on other sites

For learning purposes, GL would work. You need to be a bit careful, though. Most of the "easy mode" learning tools for OpenGL will focus on the fixed-function stuff that is completely gone in GLES 2/3. Most of the modern "right way" learning tools for OpenGL will focus on features and functionality not present in GLES. Stick to materials that are explicitly for GLES for the most part (like http://www.learnopengles.com/) and you'll be fine. There will be some adjustments necessary when moving to mobile and GLES, but they'll be small if you take this advice.

 

That's what I'm trying to avoid , I don't want to limit myself, but I want when I try to move to OpenGl ES for android I won't need to learn the basics anymore. Like when I tried to learn java " coming from c++ " I didn't need to learn the basics at all , hopefully you got the idea , learning the basics is the hard part in everything. So limiting myself to specific sources to learn is not good for me.

 

 

OpenGL ES 3/3.1 is a subset of OpenGL 4.0 (actually, I'd need a refresher of what OpenGL 4.0 has that isnt present on OpenGL 3.3). You get most of the "modern" stuff, VAOs, UBOs, FBOs, samplers, etc. Both APIs works the same, bind VAO, add attributes, bind FBO, attach textures, select texture slot, bind texture to it, etc.

 

On the other hand, OpenGL ES 2 is a mix and match between OpenGL 2 and OpenGL 3, some stuff isn't easily translated.

 

So, if you start with OpenGL 3.2+ core profile exclusively, you can move easily enough to OpenGL ES 3, and vice versa. For the most part in OpenGL ES 3 you'll find that many functions allow for less ways of shooting your foot (ie, not having 8 different default frontbuffer bindings), which is nice.

 
I'm planning on learning OpenGL 4, what worries me as I said is needing to learn the basics again.

 

 

 

but my question is , if I learn opengl in c++ and later move to opengl es " java "

Why not just use OpenGL ES in C++ on Android? Assuming you already know C++ (you didn’t say you do).
Or if you already know Java, why not just start learning OpenGL ES on Android via Java?

Either way, if your goal is to make games for Android, why aren’t you learning to make games on Android?


L. Spiro

 

 

I actually want to learn OpenGL to program simple pc games first using c++, and I thought since my goal is to program games on android , why not just learn OpenGL then move to OpenGL ES easily ? I would be killing two birds with one stone, since OpenGL ES is a subset of OpenGL. And I want to use c++ in this case since it wouldn't matter that much to me if I'm programming on pc first, but I like java when it comes to programming on android since dealing with android is already painful enough " when your project gets big and you miss testing a unit " , so not dealing with memory leak in java would be great " at least it won't happen as much as in c++ "

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!