Was ist eine OpenGL® -Klasse?
Eine OpenGL®-Klasse kann entweder auf eine objektorientierte Implementierung von Teilen der OpenGL®-Abstract-Programmierschnittstelle (API) oder auf eine Klasse, die OpenGL®-Funktionsaufrufe in ihrem eigenen Code verwendet, beziehen. Die Art der OpenGL® -Bibliothek bedeutet, dass eine objektorientierte Version der API und die meisten Programme, die als geschrieben wurden, außerhalb einer Klasse wirklich unterstützt. Als objektorientierte Sprachen häufiger wurden, schienen verschiedene OpenGL® -Klassenbibliotheken als Wrapper -Objekte für die Kernbibliothek zu fungieren. Die Verwendung einer OpenGL® -Klasse, die vollständig realisiert wurde, anstelle der Sammlung von Funktionen in der Bibliothek, einschließlich der Einkapselung und der Möglichkeit, neue Funktionskurse durch Erbschaft abzuleiten und gleichzeitig die grundlegende Implementierung abzuleiten. Nicht alle Entwickler verwenden eine OpenGl® -Klassenbibliothek, da es verwirrend sein kann, auf vollständig objektorientierte Programmierparadigmen zu wechseln.
In objektorientiertem ProGramming, eine Klasse ist eine Sammlung von Daten, Variablen und Funktionen, die als Methoden bezeichnet werden und die die von ihnen enthaltenen Informationen ändern. Die Ursprünge von OpenGl® als Funktionsbibliothek für die C -Programmiersprache, die keine objektorientierte Sprache war, bedeuten einige der Methoden und Programmierpraktiken, die entwickelt wurden, nicht gut für objektorientierte Programme. Als einige Betriebssysteme und andere Geräte mehr auf objektorientierte Sprachen angewiesen waren, wurden mehrere OpenGL® -Klassenbibliotheken entstanden.
Einige der OpenGl® -Klassenbibliotheken haben einfach die grundlegenden OpenGL® -Funktionen zusammengefasst. Dies lieferte ein sicheres und kompatibles Framework für die Programmierung. Obwohl diese Art von Unterricht für einige Sprachen erforderlich war, mussten die Unterstützung von Klassen zu einer funktionalen Anwendung unterbrochen werden. Wirklich organisierte Bibliotheken haben die OpenGl® -Funktionen tatsächlich in a geteiltReihe von Klassen, wobei jedes ein anderes Element der Bibliothek verwaltet, z. B. Rendering.
Eine Reihe von OpenGl® -Klassenbibliotheken erweiterte die Basis -OpenGL® -Engine und umfasste mehr Funktionen. Dies enthielt in erster Linie eine spezielle Klasse zum Umgang mit den Objekten in einer Szene, die als Szenengrafik bezeichnet wird. Diese Klassen fungierten als Wrapper für die Kernbibliotheken gleich
Fast jede OpenGL® -Bibliothek, einschließlich der Versorgungsbibliotheken, wurde auf die eine oder andere Weise in eine objektorientierte Form übersetzt. Dies hat es den Entwicklern in einigen Fällen erleichtert, OpenGl® über die verschiedenen Geräte auf dem Laufenden zu halten, die vorhanden sind, indem sie einen meist einheitlichen Entwurf für die Implementierung von OpenGl® in einer objektorientierten Umgebung bilden. Mit der Hinzufügung objektorientierter Entwicklungstools, iT hat es auch ermöglicht, eine OpenGl® -Klasse in ein Programm zu ziehen und zu fallen, das die visuelle Entwicklung unterstützt und einige der komplizierteren Aspekte vereinfacht.