8
votes

Android OpenGL ES GL10 ou GL11

Quelle est la différence entre cela et comment je peux interroger ce qui est supporté par le téléphone actuel? (GL10 ou GL11)

J'ai une légende HTC, qui est prise en charge GL11 ou non? Ou héros ... etc ...?


0 commentaires

4 Réponses :


1
votes

Vous pouvez utiliser instanceOf code> sur votre instance GL10 à tester si GL11 ou supérieur est pris en charge:

public void onSurfaceCreated(GL10 gl, EGLConfig config)
{        
  if(gl instanceof GL11)
  {
    // ...
  }
}


0 commentaires

8
votes

Il y a une API pour cela:

public int getGLVersion() 
{
    ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    ConfigurationInfo info = am.getDeviceConfigurationInfo();
    return info.reqGlEsVersion;
}
  • pour opengles 1.1, geGlversion () == 0x00010001 LI>
  • pour opengles 2.0, geGlversion () == 0x00020000 LI> ul>

    Si vous souhaitez la représentation de chaîne (pour l'affichage), appelez ConfigurationInfo.geglesversion () Code> P> P>


2 commentaires

Cela ne renvoie pas ce que le matériel peut prendre en charge, mais quelle est la demande demandée dans AndroidManifest.xml


Non, 2.0 signifie GLEES20, 1.1 signifie GL11 et 1.0 signifie GL10.



0
votes

Utilisez Glgetstring pour interroger les informations de version, Vous devez faire attention lorsque l'analyse de la chaîne retournée - certaines implémentations ne suivent pas tout à fait la spécification - mais le code ici fonctionne pour moi.


0 commentaires

0
votes

Dans la pratique, tout ce qui a réellement du matériel graphique, prendra en charge 1.1. 1.0 était un profil conçu pour les implémentations logicielles et il n'existe aucun matériel qui ne supporte que 1,0 Afaik.

S'il n'a pas de matériel graphique, vous ne voulez pas vraiment exécuter votre application GL dessus, car de très mauvaises performances, vous pourriez ainsi définir AndroidManifest.xml pour spécifier la version 0x00010001, puis vous sais que cela supportera GL11.

En outre, tout ce qui est sorti en 1111 ou plus tard prendra probablement supporter probablement les GES 2.0 (et la prise en charge GL2.0 GL1.1)

Vérifiez les statistiques de marché Android, 90,5% des périphériques Support 2.0 et 1.0 ne sont même pas dans les statistiques, car 1,0 n'est jamais utilisé par personne.


0 commentaires