-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support OpenGL ES APIs #33
Comments
+1. This is a must have for Widelands and will be a real asset when doing mobile development. Even cooler would be combination support. JOGL for example http://jogamp.org/jogl/www/ has interfaces like GL3ES3 which is the set intersection between the functionality of OpenGL 3 and ES 3. This makes it really convenient to develop Desktop/Mobile apps. |
This issue would be really nice to have, but we have to postpone it for now. |
Is there any time estimate on this? We plan to move a production application to glbinding, and rely on iOS support where I presume we can only use OpenGL ES. If this is not to happen soon, do you have any suggestions on how to go about a portable application which can run on GL and GLES but still use glbinding? Or would you suggest falling back to another extension library for this usecase? |
@flv0 Here is a brief schedule w.r.t. to new/additional bindings: (1) we currently rewrite our API parsing using {{ mustache }} which should be ready in a few days/weeks and make arbitrary Khronos API parsing easier, more reliable, and most important, reusable for other APIs than OpenGL. (2) After a relase of glbinding 2.0 in the next days, we probably start on a new binding for Vulkan API (vkbinding) and then continue to OpenGL ES (glesbinding), but we could swap this... In both cases we probably provide individual projects and we are currently discussing if the Khronos Parsing should become a project for itself as well. Since we currently provide and maintain C++ bindings only, any use for mobile devices (which we are going to do as well for iOS and Android...) is by encapsulating and writing the OpenGL, OpenGL ES, or Vulkan code in C++ and using it on a 'meta/control' level via any mobile SDK, e.g., NDK or Objective C wrappers. For our mobile projects we intend to write as much logic as possible in C/C++ and rely on any specific mobile SDK as little as possible. On the OpenGL ES status: We had two independent, successful experiments (one by @scheibel and one by myself) on porting glbinding to gles, both successful (@scheibel already had egl as well as first gles examples running). As a result of these "feasibility tests" we decided to first rewrite our parsing (see (1) above) and provide the gles binding based on top of that. However, we have not yet finally decided on either include gles in glbinding or make it a separate project. For our bigger projects, we tend to rely an additional abstraction layers (i.e., globjects) and currently plan (subject to change) on extending globjects to support OpenGL ES as well. This would allow a single rendering code to either run on any/latest OpenGL and fallback to OpenGL ES (semi-automatically) whenever possible and required. Concluding, you can expect a major release (2.0) of glbinding very soon and some OpenGL ES binding in the near future (probably Q2/Q3, without guarantee). It is yet unclear though, if we are going to include optional iOS and NDK wrappers. |
This is very good news, thanks a lot for the extensive explanation. Looking forward to the releases and possibly writing my first vulkan application with glbinding 😄 By the way, is there any mailing list for announcements and discussion of the glbinding development? |
+1 I'd love to have this for iOS and android development. |
+1 hoping for OpenGL ES 3.0 support. I use ANGLE for almost all of my projects and ANGLE does not support desktop OpenGL for the frontend, it supports ES 2.0/3.0 exclusively. I set up globjects (which uses glbinding), and discovered that this simply will not work. |
We just pushed code similar to |
Any update on this? Does glbinding include support for OpenGL ES? Or do I need to use the glesbinding project you linked above? |
glbinding is partly compabitible with OpenGL ES. This is also true the other way around (glesbinding and OpenGL).
Please note that there are subtle differences in OpenGL and OpenGL ES, e.g., the bit width of a boolean or some inaccessible extensions, constants and functions, that may render glbinding incompatible to OpenGL ES contexts and vice versa. |
Closing this issue as it will not be further addressed here in the glbinding repository. |
No description provided.
The text was updated successfully, but these errors were encountered: