Die GLSurfaceView.Renderer-Schnittstelle des Android-SDK gibt mir eine GL-Schnittstelle als Parameter, der den Typ GL10 hat. Diese Schnittstelle wird von einer privaten internen jni-Wrapper-Klasse implementiert. Aber es gibt auch die Klasse GLES10, in der alle GL-Methoden als statische Methoden zur Verfügung stehen. Gibt es einen wichtigen Unterschied zwischen ihnen? Was passiert, wenn ich den gl-Parameter von onDrawFrame ignoriere und stattdessen die statischen Methoden von GLES10 überall verwende?Unterschied zwischen GL10 und GLES10 auf Android
Hier ist ein Beispiel. Statt dies zu tun:
void onDrawFrame(GL10 gl)
{
drawSomething(gl);
}
void drawSomething(GL10 gl)
{
gl.glLoadIdentity();
...
}
konnte ich dies tun:
void onDrawFrame(GL10 gl)
{
drawSomething();
}
void drawSomething()
{
GLES10.glLoadIdentity();
...
}
Der Vorteil ist, dass ich nicht den GL Kontext an alle genannten Methoden übergeben müssen. Aber selbst wenn es funktioniert (Und es funktioniert, ich habe es ausprobiert) Ich frage mich, ob es irgendwelche Nachteile und Gründe gibt, es NICHT so zu machen.