Provided that the necessary compatibility extensions are present on desktop, we can run GL ES 2.0 and 3.x shaders directly in the editor (again, still experimental in 5.1).We can artificially clamp the caps to match whichever target level (and extension set) we wish, for emulation purposes.When an extension from the desktop GL land is brought to mobiles (such as Direct State Access), and we already support that on desktop, it is automatically detected on mobiles and taken into use.desktop OpenGL: all versions from 2.1 to 4.5 (desktop OpenGL support is experimental in 5.1)Īll the differences between these API versions are baked into a capabilities structure based on the detected OpenGL version and the extensions that are available.OpenGL ES 3.1 ( + Android Extension Pack). ![]() ![]() It can operate in various different feature levels, depending on the available hardware: So, in order to get some sense into this, and in order to make it easier to add features in the future, we created a unified GL renderer. This, of course, meant a lot of duplicate work to get new features in, various bugs that may or may not happen on all renderer versions etc. Until now, we had a separate renderer for OpenGL ES 2.0, one for OpenGL ES 3.0 (that shared a good deal, but not all, code with ES 2.0) and then a completely different one for the desktop OpenGL (that was stuck in the OpenGL 2.1 feature set).
0 Comments
Leave a Reply. |