Je travaille sur une sorte de framework de jeu et je suis un nouvel arrivant sur OpenGL. La plupart des livres ne semblent pas donner une réponse très claire à cette question et je souhaite développer sur mon bureau en utilisant OpenGL, mais exécuter le code dans un environnement OpenGL ES 2.0. Ma question est alors double:
Dans OpenGL ES 2.0, qui correspond à l'utilisation des nouveaux gadgets, vous devez également fournir vos propres shaders de vertex et de fragment, car l'ancien pipeline de fonctions fixes a disparu. Cela signifie que vous devez faire vous-même des calculs d'ombrage, etc., ce qui est complexe, mais vous pouvez trouver les implémentations existantes sur les tutoriels GLSL.
Néanmoins, GLES étant un sous-ensemble du bureau OpenGL, il est possible d’exécuter le même programme sur les deux plates-formes.
À ma connaissance, OpenGL ES est un sous-ensemble d’OpenGL. Je pense que si vous vous abstenez d'utiliser des éléments du mode immédiat, tels que glBegin () et glEnd (), tout devrait bien se passer. Je n'ai pas beaucoup utilisé OpenGL ces derniers mois, mais lorsque je travaillais avec ES 1.0, tant que je n'utilisais pas glBegin/glEnd, tout le code que j'avais appris avec OpenGL standard fonctionnait.
Je sais que le simulateur iPhone utilise le code OpenGL ES. Je ne suis pas sûr de celui d'Android.
Voici Emulateur Windows.
Option 3) Vous pouvez utiliser une bibliothèque telle que Qt pour gérer votre code OpenGL à l'aide de leurs fonctions d'encapsulation intégrées. Cela vous donne la possibilité d'utiliser une base de code (ou différentes bases de code) pour OpenGL et de construire pour la plupart des plateformes de votre choix. Vous n'avez pas besoin de le porter pour chaque plate-forme que vous souhaitez prendre en charge. Qt peut même choisir le contexte OpenGL en fonction des fonctions que vous utilisez.