Wie wähle ich das beste OpenGL® SDK aus?
Es gibt eine Reihe von Open Graphics Library® (OpenGL®) Software Development Kits (SDKs), obwohl viele speziell auf eine bestimmte Verwendung ausgerichtet sind. Die Entwickler von Grafikkarten und Hardware stellen in der Regel ein OpenGL®-SDK zur Verfügung, das in Bezug auf Codebeispiele und Dokumentation ziemlich vollständig ist, das jedoch auch hardwarespezifische Funktionen enthalten kann. Einige SDKs konzentrieren sich darauf, einen einfachen Zugriff auf die OpenGL®-API (Abstract Programming Interface) zu ermöglichen, und konzentrieren sich in der Regel auf eine bestimmte Verwendung, z. B. molekulare Visualisierung, Physik oder interaktive Kunst. Ein vollständigeres OpenGL®-SDK kann ein voll funktionsfähiges Framework oder einen Szenegraphen enthalten, das bzw. der die Funktionalität der Kern-API erweitert, obwohl es möglicherweise auch eine steilere Lernkurve aufweist als ein einfacheres SDK. Eine Reihe von OpenGL®-SDKs bieten leistungsstarke Grafiken und Algorithmen, die sich am besten für Echtzeitanimationen, interaktive dreidimensionale Umgebungen (3D) oder Videospiele eignen.
Ein wichtiger Unterschied besteht darin, dass sich ein OpenGL®-SDK von der OpenGL®-API unterscheidet. Die API ist die grundlegende Schnittstelle, die zum Schreiben und Kompilieren einer OpenGL®-Anwendung erforderlich ist. Ein OpenGL®-SDK kann eine Sammlung von Tools, Quellcode, Dokumenten und Bibliotheken sein, die die Funktionalität der API erweitern, erweiterte OpenGL®-Treiber enthalten oder Tools bereitstellen, die die Verwendung der API vereinfachen. Die Entwickler von OpenGL® unterhalten keine offiziellen OpenGL®-SDKs. Daher werden alle Kits unabhängig vom OpenGL® Architecture Review Board (ARB) von einzelnen Communities, Programmierern oder Unternehmen geschrieben und entwickelt.
Das beste OpenGL®-SDK ist eines, das dem Fachwissen des Programmierers entspricht und für das Projekt nicht allzu komplex ist. Für einfache Projekte, wie das Anzeigen der Ergebnisse einer Funktion oder eines Algorithmus, ist ein grundlegendes Mathematik-SDK im Allgemeinen weitaus geeigneter als ein von einem Grafikkartenhersteller bereitgestelltes Kit, um sich auf spezielle Funktionen wie das Rendern durchscheinender Haare zu konzentrieren. In einigen Fällen ist das beste SDK möglicherweise auch kein SDK, da die grundlegenden Zeichenfunktionen von OpenGL® nur mit der API verfügbar sind.
Bei großen oder interaktiven Programmen, für die möglicherweise ein beträchtlicher Teil des Modellladens und der Bildbearbeitung erforderlich ist, ist möglicherweise ein OpenGL®-SDK mit umfassenderem Funktionsumfang erforderlich. Sowohl kommerzielle als auch Open-Source-SDKs sind in unterschiedlichen Komplexitätsstufen verfügbar, sodass viele häufig verwendete Funktionen - wie das Erstellen von Vertex-Buffer-Objekten oder das Timing von Animationen - sehr einfach zugänglich sind. Eine Komplikation bei einem SDK, das etwas so Großes wie einen vollständigen Szenengraphen implementiert, ist jedoch, dass eine steile Lernkurve erforderlich ist, da der Code für das SDK möglicherweise sehr weit von den grundlegenden OpenGL®-Techniken entfernt ist.
Die Tools, die mit einem OpenGL® SDK geliefert werden, können manchmal wichtig sein, um die Entwicklung zu optimieren. Dazu können Anzeigeprogramme gehören, um zu sehen, wie eine Szene oder ein Modell beim Rendern mit dem SDK oder Plug-Ins für häufig verwendete Modellierungsprogramme aussehen wird, mit denen Dateien direkt in vom SDK verwendbare Formate exportiert werden können. Ein Merkmal eines guten SDK ist neben den Tools auch die ordnungsgemäße Dokumentation sowie eine Community, die zur Beantwortung eventueller Fragen zur Verfügung steht.