Dans des moments comme celui-ci, je me dirige toujours vers le Steam Hardware Survey: http://store.steampowered.com/hwsurvey/ - vous constaterez que le taux de pénétration des systèmes de classe DX10 / 11 sur le marché atteint presque 80%; ceci étant globalement équivalent à GL3.3 ou supérieur. Ce 80% est réservé aux utilisateurs de Vista / 7 - ajoutez un GPU DX10 / 11 avec XP et vous montez à un peu plus de 90%.
Sachant que nous parlons ici de joueurs légèrement plus hardcore, vous devez alors commencer à penser à votre public cible. S'agit-il des personnes que vous souhaitez cibler? Visez-vous ceux qui ont plus de matériel de bas niveau? Qu'en est-il des graphiques Intel? Qu'en est-il des utilisateurs Mac et Linux? Ce sont toutes des questions auxquelles vous devez répondre par vous-même, de sorte que des directives générales sont ce qu'il y a de mieux.
Ajoutons à cela, vous devez tenir compte du fait que si vous commencez à apprendre aujourd'hui avec l'intention d'expédier quelque chose, vous disposez d'une période minimale d'un an avant de vous y rendre (à moins que nous ne parlions à propos de cas vraiment triviaux / simples). Avec la tendance à la hausse des capacités gfx qui se poursuit, nous envisageons d’avoir une réelle adoption presque totale du matériel GL3.3 + d’ici là.
N'oubliez pas qu'avec GL2.1 ou une version inférieure, vous allez apprendre et utiliser énormément d'anciennes absurdités cruelles, même si vous vous limitez au sous-ensemble shaders et VBO de GL2.1 (les versions de niveau inférieur de GLSL sont désagréables à utiliser , et les VBO en streaming sont pratiquement inutilisables sans GL_ARB_map_buffer_range) - GL3.3 + a introduit des façons beaucoup plus agréables (et plus performantes) de gérer beaucoup de choses, vous ferez une meilleure utilisation du matériel du lecteur (et ils seront reconnaissants à pour cela) et vous passerez plus de temps à écrire du code productif plutôt que de vous battre contre une API qui ne veut vraiment pas coopérer avec vous.
Et bien sûr, il y a la situation redoutée du conducteur. Le fait difficile, mais vrai, est que les pilotes GL sous Windows sont dans un état déplorable - NV prend en charge les éléments qu’ils ne devraient pas, AMD ne prend pas en charge les éléments qu’ils devraient, et avec Intel, vous devez vraiment vous limiter aux fonctionnalités GL pour lesquelles il existe un équivalent en D3D. Plus le GL_VERSION est récent, plus il est probable que vous rencontriez des bogues de pilotes, mais pour GL3.3, les choses sont raisonnablement stables maintenant.
En résumé, en l'absence de toute autre information (public cible, etc.), je ciblerais GL3.3 en tant que référence (en intégrant éventuellement une fonctionnalité à partir de GL_VERSIONs supérieures, là où elle est disponible et ne perturbe pas le codebase. trop) à moins qu'il y ait une raison très précise et clairement identifiée de descendre plus bas (et je voudrais en être absolument sûr à 100% plutôt que d'utiliser une notion vague de " mais qu'en est-il de ceux qui ont du matériel plus ancien "). Dans ce dernier cas, je n'irais pas au-dessous de GL2.1 et je chercherais à intégrer autant de fonctionnalités 3.x que possible, même à ce moment-là.