Tutorials

▷ Opengl: Was ist das und wofür ist es?

Inhaltsverzeichnis:

Anonim

Hast du jemals von OpenGL gehört ? Es wurde schnell zur branchenweit führenden Echtzeit-Grafik-API, da es im Grunde die einzige war, die auf mehreren Plattformen verfügbar war. Heute bringen wir Ihnen diesen Artikel, in dem wir erklären, was OpenGL ist und wofür es ist.

Inhaltsverzeichnis

Geschichte

In den 80er Jahren war die Entwicklung von Software, die mit einer Vielzahl von Hardware für die Grafikwelt kompatibel war, eine echte Herausforderung für Entwickler. Sie mussten sich mit sehr unterschiedlichen Schnittstellen befassen und spezifische Treiber für jeden Hardwaretyp schreiben, was sehr teuer war. Daher wurden Programmierteams ausgelagert, um die Entwicklung zu beschleunigen. Da jedes Team separat an seinen Schnittstellen arbeitete, wurde viel redundanter Code erstellt. 1992 leitete SGI die Gründung des OpenGL Architecture Review Board (OpenGL ARB), einer Unternehmensgruppe, die die Spezifikation in den folgenden Jahren beibehalten und erweitern sollte. OpenGL entwickelte sich aus IRIS GL und überwand das Problem der Hardwareabhängigkeit, indem es eine Softwareemulation für diese nicht unterstützten Funktionen anbot. Daher könnten Anwendungen erweiterte Grafiken auf relativ schwachen Systemen verwenden.

Um zu verstehen, was OpenGL ist, müssen wir zuerst wissen, was eine API ist.

Was ist eine API, um OpenGL zu verstehen?

Eine API oder Anwendungsprogrammierschnittstelle ist eine Reihe von Codes, die für verschiedene Anwendungen verwendet werden können, um miteinander zu kommunizieren. Es ist etwas, das eine ähnliche Aufgabe wie die Benutzeroberfläche ausführt, indem es die Interaktion zwischen Person und Programm fördert, die nur und ausschließlich innerhalb der Softwareumgebung angewendet wird. Es wird verwendet, um Codes oder Funktionen zwischen verschiedenen Plattformen zu verbinden, sodass Sie die Dienste einer Website auf einer anderen nutzen können.

Was ist OpenGL?

Es wird hauptsächlich als API betrachtet, die uns eine Reihe von Funktionen bietet, mit denen wir 3D- und 2D-Grafiken und Bilder bearbeiten können. An sich ist es jedoch nicht einfach eine API, sondern eine Spezifikation, die von der Khronos-Gruppe entwickelt und gepflegt wird. Es wird auch für die Entwicklung von Videospielen verwendet, wo es mit Direct3D auf der Microsoft-Plattform konkurriert.

Gibt genau an, wie die Ausgabe jeder Funktion aussehen soll und wie sie funktionieren soll. Da die OpenGL-Spezifikation keine Implementierungsdetails enthält, können die tatsächlich entwickelten Versionen unterschiedliche Implementierungen aufweisen, sofern ihre Ergebnisse der Spezifikation entsprechen (und daher für den Benutzer gleich sind).

Entwickler von OpenGL-Bibliotheken sind normalerweise Hersteller von Grafikkarten. Jede GPU unterstützt bestimmte Versionen dieser API. Hierbei handelt es sich um OpenGL-Versionen, die speziell für diese Grafikkarte entwickelt wurden. Wenn Sie beispielsweise ein System eines Unternehmens wie Apple verwenden, wird die OpenGL-Bibliothek verwaltet. Unter Linux gibt es eine Kombination aus Grafikanbieterversionen und Anpassungen für diese Bibliotheken. Dies kann bedeuten, dass es sehr wahrscheinlich die Schuld der Grafikkartenhersteller ist, wenn OpenGL ein seltsames Verhalten zeigt, das es nicht sollte. Wenn bei der Implementierung ein Fehler auftritt, wird dieser normalerweise durch Aktualisieren der Grafikkartentreiber behoben. Diese Treiber enthalten die neuesten Versionen, die Ihre GPU unterstützt. Aus diesem Grund wird immer empfohlen, die Treiber zu aktualisieren.

OpenGL-Ziele

Die Hauptziele sind:

  • Reduzieren Sie die Komplexität der Benutzeroberfläche mit den verschiedenen Grafikkarten und präsentieren Sie dem Programmierer eine einzigartige und einheitliche API. Verstecken Sie die verschiedenen Funktionen der verschiedenen Hardwareplattformen , sodass alle Implementierungen alle OpenGL-Funktionen unterstützen müssen (ggf. mithilfe der Softwareemulation).

Die grundlegende Operation von OpenGL besteht darin, primitive Aktionen wie Punkte, Linien und Polygone zu akzeptieren und sie in Pixel zu konvertieren. Dieser Prozess wird von einer grafischen Pipeline ausgeführt, die als OpenGL State Machine bekannt ist. Die meisten OpenGL-Befehle geben primitive Operationen für die Diagrammsegmentierung aus. Bis zur Veröffentlichung von Version 2.0 wurde jede Stufe der Segmentierung in einer festgelegten Funktion ausgeführt, was zu einer geringen Konfigurierbarkeit führte. Ab dieser Version sind mehrere Stufen mit GLSL vollständig programmierbar.

Erweiterungen

Ein sehr interessantes großartiges Feature ist die Unterstützung von Erweiterungen. Immer wenn ein Unternehmen von GPUs eine neue Technologie oder eine neue Art der Optimierung zum Rendern von 3D-Bildern einführt , ist diese in einer Erweiterung in den Treibern implementiert. Wenn die Hardware, auf der eine Anwendung ausgeführt wird, diese Erweiterung unterstützt, kann der Entwickler die von der Erweiterung bereitgestellten Funktionen verwenden, um erweiterte oder effizientere Grafiken zu erhalten. Auf diese Weise kann ein Videospielentwickler diese neuen Rendering-Techniken verwenden, ohne darauf warten zu müssen, dass OpenGL die Funktionalität in zukünftigen Versionen enthält, indem er einfach überprüft, ob die Grafikkarte die Erweiterung unterstützt. Wenn eine Erweiterung beliebt oder sehr nützlich ist, wird sie häufig Teil zukünftiger Versionen von OpenGL.

WIR EMPFEHLEN IHNEN Mad Max veröffentlicht Unterstützung für Vulkan in seiner neuen öffentlichen Beta für Linux

OpenGL Evolution

Im März 2015 wurde die Vulkan- API auf der Spieleentwicklerkonferenz als Nachfolger von OpenGL vorgestellt. Ursprünglich als "Next Generation OpenGL" oder "glNext" bekannt, ist die Programmierschnittstelle Open Source und plattformübergreifend. Der Unterschied zu OpenGL besteht darin, dass der Hardware während der Programmierung mehr Aufmerksamkeit geschenkt wird, was die Leistung erheblich erhöht. Einige PC-Spiele unterstützen bereits Vulkan, die meisten verwenden jedoch DirectX. Vulkan wird auch von der Khronos Group entwickelt.

Wir empfehlen, die besten Grafikkarten auf dem Markt zu lesen.

Bisher haben Sie in unserem Artikel über OpenGL hoffentlich verstanden, woraus es besteht und mehr. Wie auch immer, Sie können Fragen in den Kommentaren hinterlassen.

Tutorials

Die Wahl des Herausgebers

Back to top button