J'ai construit mon application iOS en utilisant OpenGLES 3. Maintenant, je veux qu'elle prenne en charge les appareils plus anciens avec OpenGLES 2. J'ai démarré le contexte comme ES 2 et tout fonctionne. Cependant, mon application utilise des en-têtes ES 3, certaines fonctions y sont donc présentes.OpenGL ES 2 et 3 sur iOS
Par exemple:
ES 3 -> glBindVertexArray
ES 2 -> glBindVertexArrayOES
Est-il sûr de garder les en-têtes ES 3 et ES appeler la fonction 3 sur ES 2 seulement (si ce dispositif prend en charge l'extension OES). Si non, comment résoudre ce problème? Je ne peux pas faire quelque chose comme
if (version == 2) glBindVertexArrayOES(0)
else glBindVertexArray(0)
parce glBindVertexArrayOES est pas en-têtes ES 3 et glBindVertexArray est pas dans ES 2 et je ne sais pas la version ES en construction temps, seulement lors de l'exécution.