Was ist eine OpenGL® Game Engine?
Eine Open Graphics Library® (OpenGL®) -Spiel-Engine ist eine Programmierbibliothek oder eine andere Sammlung von Software, die die Erstellung von Videospielen erleichtern soll, indem ein vollständig implementiertes Framework bereitgestellt wird, auf dem eine benutzerdefinierte Anwendung erstellt werden kann. Die Basis für jede OpenGL®-Game-Engine ist die Schnittstelle zwischen der übergeordneten Programmierlogik und den OpenGL®-Bibliotheken, die wiederum auf Grafikhardware auf niedriger Ebene zugreifen. Einige Engines konzentrieren sich hauptsächlich auf den einfachen Zugriff auf spezielle grafische Funktionen und Algorithmen, indem sie optimierte Funktionen für Effekte wie Unschärfe, Lichtkarten oder benutzerdefinierte Shader enthalten. Eine OpenGL®-Game-Engine erweitert das Funktionsspektrum durch Bibliotheken auf höherer Ebene, Skriptsprachen oder sogar benutzerdefinierte Entwicklungsumgebungen. Zu den Funktionen der verschiedenen OpenGL®-Spiele-Engines gehören Benutzereingaberoutinen, Schatten-Rendering, ein GUI-Framework (Graphical User Interface), Netzwerkunterstützung, Physik und erweiterte Zeitsteuerungsmechanismen für reibungslose Animationen.
Bei der Erstellung von Spielen, die OpenGL® verwenden, sei es zweidimensional (2D) oder dreidimensional (3D), muss eine angemessene Menge Programmcode geschrieben werden, um die meist statischen OpenGL®-Codebibliotheken in eine dynamische Spielumgebung zu integrieren Objekte ändern sich und bewegen sich, und Benutzer können mit der virtuellen Welt interagieren. Ein Hauptzweck einer OpenGL®-Game-Engine ist es, das Erfordernis zu beseitigen, diese Art von Boilerplate-Code neu zu schreiben, und stattdessen ein konsistentes und strukturiertes Framework bereitzustellen, um ein Spiel herum aufzubauen. OpenGL® enthält nur Funktionen zum Anzeigen oder Rendern von Grafiken auf einem Gerät. Daher muss die gesamte Spielelogik um diesen Kern gewickelt werden, einschließlich der Entwicklung einer Methode zum Integrieren von Objekten, die sich in einer Szene bewegen oder die einer Szene hinzugefügt oder daraus gelöscht werden können. Eine Struktur, die OpenGL® für dynamische grafische Objekte verwendet, wird allgemein als Szenendiagramm bezeichnet und ist die Grundlage für viele Implementierungen der OpenGL®-Game-Engine.
Ein weiterer Grund für die Verwendung einer OpenGL®-Game-Engine durch Entwickler besteht darin, dass nicht mehr mehrere unterschiedliche Elemente eines Spiels in ein einziges Framework integriert werden müssen, was lange dauern kann. Benutzereingaben über eine Tastatur, GUI-Elemente wie ein Fenster zum Auswählen von Ja- oder Nein-Optionen und sogar Optimierungen für bestimmte gängige Grafikkarten sind in einer OpenGL®-Game-Engine enthalten, sodass Entwickler nicht mehr nach Hardwarespezifikationen suchen müssen, um sie zu schreiben der Code selbst. Als Kompromiss sind Engines mit solch komplexen Fähigkeiten im Allgemeinen sehr teuer oder verfügen über sehr restriktive Lizenzen für die kommerzielle Nutzung, obwohl es einige Open-Source-Game-Engines gibt.
Der Begriff "OpenGL® Game Engine" kann sich auch auf ein fertiges Computerspiel beziehen, bei dem die meisten oder alle benutzerdefinierten Datendateien entfernt wurden und nur der kompilierte Programmcode übrig bleibt. Auf diese Weise kann ein Benutzer benutzerdefinierte Grafiken, Karten und manchmal skriptgesteuerte Ereignisse erstellen, die von der Game Engine geladen werden. Das Gameplay kann in dieser Art von Game-Engine normalerweise nicht in großem Umfang geändert werden und dient stattdessen als Plattform für Benutzer, um benutzerdefinierte Ebenen und Inhalte zu erstellen, im Gegensatz zu einem freistehenden Originalspiel.