OpenGL ES 3.1 : nouvelle version pour l’API mobile

Le groupe Khronos, qui gère les API OpenGL, OpenCL et OpenGL ES, vient d’annoncer une évolution d’OpenGL ES 3.0, qui passe en version 3.1. OpenGL ES (Embedded Systems) est une API destinée au monde de l’embarqué, qui est très utilisée dans les smartphones et autres tablettes.

OpenGL ES 3.0 peut être vu comme une version mobile d’OpenGL 3.x, OpenGL ES 3.1 est plutôt l’équivalent d’OpenGL 4.x, même si certaines fonctions phares, comme la tesselation, ne sont pas de la partie. On peut noter de nouvelles fonctions en rapport les textures, la prise en charge des Compute Shader et l’intégration d’une fonction intéressante, Indirect Draw Commands, qui permet au GPU d’effectuer certains traitements sans passer par le CPU.

Image 1 : OpenGL ES 3.1 : nouvelle version pour l'API mobileOpenGL ES

Actuellement, le groupe Khronos indique que les dernières générations de GPU NVIDIA et Imagination (le Tegra K1, pas encore disponible, et les PowerVR de sixième génération) sont compatibles OpenGL ES 3.1, et que d’autres GPU pourraient aussi obtenir une compatibilité avec OpenGL ES 3.1 une fois les tests de certification effectués.

Dans le monde des smartphones, OpenGL ES 2.0 est le plus utilisé, étant donné que les principaux systèmes d’exploitation prennent en charge l’API depuis plusieurs années (depuis Android 2.0 et iOS 5, par exemple) et que tous les GPU modernes sont compatibles (ou presque). Pour OpenGL ES 3.0, Android 4.3 prend en charge l’API, avec certains GPU récents (les Adreno 3xx des Snapdragon, les Mali T6xx et les PowerVR de sixième génération), et iOS est compatible depuis iOS 7 avec les GPU PowerVR intégrés dans l’iPad Air, l’iPad mini Retina et l’iPhone 5S.