Ich versuche OpenGL auf dem iPhone mit dem "Super Bible" zu lernen, habe aber Probleme bei der Portierung von OpenGL zu OpenGL ES. Mein Verständnis ist, dass die glRectf()
Funktion in letzterem nicht verfügbar ist. Was ist der Ersatzansatz? Jede relevante konzeptionelle Information würde ebenfalls geschätzt werden.OpenGL zu OpenGL-ES - glRectf()
3
A
Antwort
9
Der Ersatzansatz ist es, einen Dreiecksstreifen zu ziehen:
GLfloat texture[] =
{
0, 0,
0, 1,
1, 0,
1, 1
};
GLfloat model[] =
{
0, 0, // lower left
0, h, // upper left
w, 0, // lower right
w, h // upper right
};
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(2, GL_FLOAT, 0, model);
glTexCoordPointer(2, GL_FLOAT, 0, texture);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
Dies zeichnet ein Rechteck mit texturierten Breite und Höhe w
h
.
2
Anstatt ein Rect zu tun, machen Sie nur zwei Dreiecke.
Dies ist wirklich irrelevant, da GL-ES auf dem iPhone den Sofort-Modus nicht unterstützt. Sie müssen alle Ihre Scheitelpunkte in einem Array definieren und eine der Vertex-Array-Renderfunktionen verwenden, um sie zu zeichnen, anstatt die Funktionen des unmittelbaren Modus zu verwenden.
Verwandte Themen
- 1. glVertexAttribPointer in OpenGL und in OpenGLES
- 2. Antialiasing iPhone OpenGLES
- 3. Versuchen, iPhone OpenGLES-Kopfzeilen in C++ - Code
- 4. Was ist ein guter Ansatz, um OpenGLES 2.0 zu studieren?
- 5. Warum OpenGLES mein 3D Modell dehnen?
- 6. Bildschirm-zu-Welt-Koordinaten-Konvertierung in OpenGLES eine einfache Aufgabe?
- 7. Android OpenGLES 1.x CameraPreview zu Surfacetexture
- 8. openGLES: Zeichnen einer Textur mit Fading-Gradient
- 9. Portierung iPhone OpenGLES App auf OSX?
- 10. OpenGLES 2.0: gl_VertexID gleichwertig?
- 11. OpenGL zu OpenGL-ES - glBegin();
- 12. OpenGLES: Mischen von zwei Masken (Bitmaps)
- 13. Mit opengles Shader YUV in RGB konvertieren
- 14. Warum blockiert GlClear in OpenGLES?
- 15. Portierung OpenGL ES 2 zu OpenGL
- 16. Wie man Hintergrundbild in GLKViewController iPhone OpenGLES einstellt?
- 17. Wie drehe ich ein Sprite/Textur in OpenGLES?
- 18. Liste der Alternativen für Funktionen fehlen in OpenGLES
- 19. openGL-Funktionen in der view-basierten Anwendung
- 20. SDL_Surface zu OpenGL Textur
- 21. OpenGL Rendering zu Cubemap
- 22. Von Direct3d zu OpenGL
- 23. FFMPEG zu OpenGL Textur
- 24. OpenGLES 3 Fehler bei CVOpenGLESTextureCacheCreateTextureFromImage -6683
- 25. Sprites erhalten, um die Kamera in OpenGLES
- 26. Projection Matrix in Apples iPhone OpenGLES 2.0 Vorlagenprojekt
- 27. Winkel zwischen 2 GLKMatrix4 Objekt in OpenGLES?
- 28. Wie zeichnet man einen Zylinder mit OpenGLES?
- 29. "Libesl namens Unimplement opengl es API"
- 30. Warum funktioniert keine Integer-Methode für OpenGL?
+1 - Genau was ich gesagt hätte, wäre ich jetzt nicht zu faul, um den Code zu schreiben :) –