

Still, there seems to be a large chunk of them (36% at the time of this writing) that only support OpenGL ES 2.0. On Android, it is supported in most of the mobile devices in the market. OpenGL ES 3.0 works, nowadays, in all versions of iOS. Yet, in reality, many things did not go as expected. OpenGL ES 3 provided sufficient functionality to implement most modern rendering features and have something that looks really good (as you can see in all the images and videos we posted). Single codebase for everything is like a dream come true for writing an engine. This sounds really good in theory and we could say it almost works. The rationale for the OpenGL ES 3 renderer was having a single codebase for targeting all platforms: See About Godot 4, Vulkan, GLES3 and GLES2 for up-to-date information about the planned rendering backends transition. We are not abandoning the current OpenGL ES 3.0 backend right now: as outlined in the post, we will start working on a Vulkan backend, which will eventually coexist with the OpenGL ES 2.0 and 3.0 backends - and eventually we might deprecate the OpenGL ES 3.0 backend if Vulkan cuts it.Įdit 2: This article is now outdated.

OpenGL ES 1.0 and 1.1 were the first portable mobile graphics APIs, defined relative to the OpenGL 1.Edit: Changed post title for clarity (previously Abandoning OpenGL ES 3.0 for Vulkan (and ES 2.0)). It remains a prevalent API today, and still is the most widely available 3D graphics API, and remains a solid choice to target the widest range of devices in the market. OpenGL ES 2.0 was the first portable mobile graphics API to expose programmable shaders in the then latest generation of graphics hardware. OpenGL ES 3.0 was another evolutionary step for OpenGL ES, notably including multiple render targets, additional texturing capabilities, uniform buffers, instancing and transform feedback. OpenGL ES 3.1 - Bringing Compute to Mobile Graphicsĭespite being only a bump in the minor revision of the API, OpenGL ES 3.1 was an enormous milestone for the API, as it added the ability to do general purpose compute in the API, bringing compute to mobile graphics. The latest in the series, OpenGL ES 3.2 added additional functionality based on the Android Extension Pack for OpenGL ES 3.1, which brought the mobile API's functionality significantly closer to it's desktop counterpart - OpenGL.

OpenGL ES API Versions at a Glance OpenGL ES 3.2 - Additional OpenGL functionality
