Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This isn't clear for me, if i use the drivers from the GPU manufacturer and they support OpenGL 3.0 and/or above, i can always make an OpenGL ES 2.0 application work?

share|improve this question
up vote 1 down vote accepted

What do you mean by "make an OpenGL ES 2.0 application work?" If you mean, "Can I modify it to run on a desktop GL 3.x context with relatively minimal effort", then the answer is, "it depends". Obviously you'll need to change the version declaration of shaders, and your texture uploads may well be slower. ES 2.0 programs often use PVR compressed textures, which generally are not supported on desktop GL hardware.

A bigger problem is with binary shaders. Even if an implementation supports the ES2_compatibility extension, there's no guarantee that the implementation will support the specific binary shader formats that the program requires. So your program should be using text shaders.

Also, don't make a core or forward-compatible 3.x context; use the compatibility profile instead.

But if you have some executable that uses ES 2.0, you cannot simply run it on a desktop GL 3.x computer and expect it to work.

share|improve this answer
some gpu makers offers an SDK for OpenGL ES on desktop, so from my view ES 2.0 can work on desktop, the problem is that this SDKs usually uses shared libraries that are distributed as part of the SDK and doesn't directly use the OpenGL library of reference already installed on the platform. I was considering the problem of re-using GLES 2 codes and how to distribute it for desktop. – user827992 Aug 26 '12 at 11:06
@user827992: Then the difficulties would depend on what SDK you did your ES 2.0 work on. – Nicol Bolas Aug 26 '12 at 11:24
what kind of issues are you talking about? linkage? all i get is that they usually use some EGL mechanism like the Android emulator for example, and until now the only solution for keep running an application like this is to link my app to this libraries that are distributed with those SDKs. – user827992 Aug 26 '12 at 11:38
@user827992: I don't know; you're the one asking about making it work. What kind of issues are you running into? – Nicol Bolas Aug 26 '12 at 11:39
the fact that i can't make my app run without those redistributed library even if i have an OpenGL library working on my machine. – user827992 Aug 26 '12 at 11:41

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.