Ich möchte ein .png-Bild nehmen und es als Hintergrund für meine GLView verwenden. Ich habe gehört, dass glDrawTex* der beste Weg ist, aber ich habe im Internet gesucht und kein einziges Beispiel gefunden, wie man es benutzt (zumindest keines, das für mich funktioniert hat). Jede Hilfe?
Antwort
Zu viele Anzeigen?Auch wenn die OES_draw_texture Erweiterung eine gute Möglichkeit ist, um einen Hintergrund zu zeichnen, da sie manchmal ein wenig schneller sein kann als die Verwendung von Geometrie, würde ich davon abraten, sie zu stark zu verwenden, da iPhones sie unter ES 2 manchmal nicht implementieren und du dich nicht in die Enge treiben möchtest.
Das gesagt habend, etwas wie:
int sourceRect[4] = {0, 24, 8, 16}; // wir verwenden das Rechteck von (0, 24) der
// Größe (8, 16) in der Textur oder Texturen
// die momentan aktiv sind als das
// Quellengrafik...
// ... indem wir OpenGL dies mitteilen
glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, sourceRect);
// dann zeichnen wir das bei (x, y), mit nomineller Tiefe z, um
// den Bildschirm Bereich (Breite, Höhe) abzudecken
glDrawTexiOES(x, y, z, width, height);
sollte korrekt sein.