Android OpenGL ES GL10 oder GL11

8

Was ist der Unterschied zwischen diesem und wie kann ich abfragen, was vom eigentlichen Telefon unterstützt wird? (GL10 oder GL11)

Ich habe ein HTC Legend, das GL11 unterstützt oder nicht? Oder Held ... etc ...?

    
lacas 23.01.2011, 16:02
quelle

4 Antworten

8

Dafür gibt es eine API:

%Vor%

Die oberen 16 Bit repräsentieren die Hauptversion und die unteren 16 Bit die Nebenversion. Für weitere Informationen besuchen Sie diesen Link . Also:

  • Für OpenGLES 1.1, getGLVersion () == 0x00010001
  • Für OpenGLES 2.0 getGLVersion () == 0x00020000

Wenn Sie die Zeichenfolgendarstellung (für die Anzeige) möchten, rufen Sie ConfigurationInfo.getGlEsVersion()

auf     
Lior 23.01.2011, 16:41
quelle
1

Sie können instanceof auf Ihrer GL10-Instanz verwenden, um zu testen, ob GL11 oder höher unterstützt wird:

%Vor%     
svdree 23.01.2011 16:11
quelle
0

Verwenden Sie glGetString , um die Versionsinformationen abzufragen. Sie müssen vorsichtig sein beim Parsen der zurückgegebenen Zeichenfolge - einige Implementierungen entsprechen nicht ganz der Spezifikation -, aber der Code hier funktioniert für mich.

    
ryanm 24.01.2011 13:04
quelle
0

In der Praxis wird alles, was tatsächlich über Grafikhardware verfügt, 1.1 unterstützen. 1.0 war ein Profil für Software-Implementierungen, und es gibt keine Hardware, die nur 1.0 afaik unterstützt.

Wenn es keine Grafikhardware hat, möchten Sie Ihre gl-App aufgrund der sehr schlechten Leistung sowieso nicht ausführen. Sie könnten AndroidManifest.xml also genauso gut auf die Version 0x00010001 und dann auf Sie festlegen weiß, dass es GL11 unterstützt.

Außerdem wird alles, was in '11 oder später veröffentlicht wurde, höchstwahrscheinlich GLES 2.0 (und alle gl2.0-Unterstützung gl1.1)

unterstützen

Überprüfen Sie die Android-Markt-Statistiken, 90,5% der Geräte unterstützen 2,0 und 1,0 ist nicht einmal in den Statistiken, weil 1,0 von niemandem benutzt wird.

    
Olof Hedman 20.01.2012 11:11
quelle

Tags und Links