Ich versuche OpenGL zu lernen. Ich habe Erfahrung mit C und C++, baue eine Umgebung und all diesen Jazz auf, aber ich versuche, einen guten Ausgangspunkt zu finden.OpenGL Core und Kompatibilität
Ich kenne die feste Funktion Pipeline, die in OpenGL < = 2.1 prominent war, und es scheint relativ einfach zu beginnen mit. Das Kernprofil, das OpenGL in OpenGL> = 3.1 schiebt, lässt mich jedoch wegen der Abwertung vom FFP wegbleiben. Aber ich bin verwirrt darüber, wie alles in 3.1 und höher funktioniert. In 2.1 und darunter hast du dein glBegin (GL_WHATEVER) und glEnd(), wenn du Formen zeichnest. Das erste, was ich beim Durchsehen der Core-Profil-API bemerkt habe, ist, dass diese beiden Funktionsaufrufe weg sind. Mir ist klar, dass es wahrscheinlich einen einfachen Ersatz gibt, aber es ist ziemlich schockierend, etwas (scheinbar Nützliches) zu sehen, das aus solch einer grundlegenden Aufgabe herausgenommen wurde. Es scheint fast so, als würde man printf() von der c-Standardbibliothek ablehnen. Und wenn ich das neueste Red Book durcharbeite, benutzen sie immer noch den alten veralteten Code, der mein Denken weiter verwirrt.
Beim Durchlesen verschiedener Antworten auf ähnliche Fragen sehe ich den typischen "Shader-basierten" oder "es ist alles mit Shadern gemacht" usw. Wenn ich ein einfaches weißes Quadrat auf einen schwarzen Hintergrund zeichnen möchte (das erste Beispiel in der neustes Red Book), ich verstehe nicht, wie ein Shader für das Zeichnen einer Box relevant ist. Sollten sie das nicht tun ... nun .. Schattierung? Ich habe mir vorgenommen, das Orange Book und das Blue Book zu kaufen, aber ich möchte kein Geld mehr für etwas ausgeben, das alles hinter einer Bibliothek (dem Blue Book) verbirgt oder etwas, das über die Programmierung eines Shaders spricht um eine Beleuchtungsaufgabe in einer 3D-Umgebung auszuführen (das Orange Book).
Also wo fange ich an? Wie zeichne ich eine Box (oder einen Würfel oder eine Pyramide oder was auch immer) nur mit dem Kernprofil. Ich frage nicht nach einem Code-Schnipsel hier, ich suche nach einem ausdehnenden Tutorium oder einem Buch oder etwas, auf das jemand mich verweisen könnte. Wenn dies zuvor beantwortet wurde und ich es nicht gefunden habe, leiten Sie mich bitte um.
Ich würde Ihnen empfehlen, ein gutes "Buch" über moderne OpenGL zu holen. Meine erste Empfehlung wäre http://www.arcsynthesis.org/gltut/, die online und kostenlos ist. Das sollte dich beginnen. – Bart
Sie können die programmierbare Pipeline auch in 2.0 verwenden. Fixed-Funktion ist unabhängig von der Version beschissen und ineffizient. –
@CatPlusPlus Das ist das ERSTE Mal, dass ich von jemandem gehört habe, der die Pipeline mit festen Funktionen als ineffizient bezeichnet. :) Vielleicht möchten Sie dieses Wort noch einmal überdenken.Crappy - stimme ich zu. – Ani