Die feste Pipeline-Funktionalität war veraltet, weil sie im Wesentlichen behoben wurde.
Um neue Tricks und solche allgemein erforderlichen neuen OpenGL-Funktionen zu unterstützen, und es wurde klar, dass die Größe der OpenGL-API wachsen und immer unhandlicher werden würde, um die angeforderten Funktionen kontinuierlich zu unterstützen.
Mittlerweile wurde Hardware immer ausgefeilter und leistungsfähiger und wurde von OpenGL nicht vollständig ausgenutzt. So wurde die programmierbare Pipeline konzipiert.
Mit OpenGL3 "verwarf" die Kronos-Gruppe die feste Pipeline-Funktionalität. Dies führte zu einem großen Aufschrei, da so viel Code und so viel Talent in die etablierte feste Pipeline investiert wurde, sodass sie teilweise auf ihre Entscheidung zurückgriffen und die Profile "Kern" und "Kompatibilität" einführten. Das Kernprofil umfasst das neue programmierbare Pipeline-Modell, und das Kompatibilitätsprofil umfasst den Kern plus die meisten/alle der festen Funktionalität, so dass Anwendungen beide Modelle verwenden können.
Wir sind jetzt auf OpenGL 4.2 und das Kompatibilitätsprofil ist immer noch da und zeigt kein Anzeichen von verschwinden.
Kurz gesagt, der Grund für die Abwertung ist nicht, weil das alte Modell nicht für Anwendungsprogrammierer geeignet war; eher war es eine schwerere Belastung für die Implementierer. Das eigentliche Modell ist ziemlich solide, und viele Anwendungen/Entwickler, die die programmierbare Funktionalität verwenden, finden wieder die grundlegenden Teile der festen Funktionalität (glBegin, glEnd, Matrixstacks, Transformationsaufrufe usw.).
Also los, implementieren Sie Ihre eigenen Matrix-Stacks.Aber, wenn Sie mit einer noch besseren Idee kommen, teilen Sie es bitte mit uns :)
Es wäre interessant zu sehen, dass * Grund * Erklärung. Sowie neue bevorzugte Vorgehensweise. – Kromster