OpenGL (Open Graphics Library) ist eine plattformübergreifende Grafik-API - eine Reihe von Spezifikationen, die eine gemeinsame "Sprache" zwischen Anwendungen (Spiele, 3D-Programme) und der Grafikkarte (GPU) bilden. Ihr Hauptvorteil ist die Plattformunabhängigkeit: Der gleiche Code kann unter Windows, macOS und Linux ausgeführt werden. Obwohl es in modernen Spielen zunehmend durch neuere APIs wie Vulkan - eine plattformübergreifende Low-Level-Schnittstelle, die vom Konsortium Khronos Group entwickelt wurde und Entwicklern einen viel direkteren und effizienteren Zugang zur Hardware ermöglicht - oder das proprietäre Direct3D 12 (Windows) oder Metal (macOS/iOS) ersetzt wird, bleibt OpenGL in vielen professionellen Anwendungen (CAD, DCC, wissenschaftliche Visualisierung) entscheidend.
Im Gegensatz zu Übertragungsschnittstellen (HDMI, DisplayPort), die nur das fertige Bild senden, beschreibt OpenGL, wie die GPU das Bild erstellt - von der Geometrie über die Schattierung bis hin zur endgültigen Rasterung - d. h. die komplette Grafikpipeline, die Abfolge der Schritte, die die Daten durchlaufen: Zuerst werden die Eckpunkte aufbereitet (Vertex Processing), dann werden die sichtbaren Polygone bestimmt (Clipping), dann werden sie bei der Rasterisierung in Pixel umgewandelt, und schließlich werden Fragment-Shader und Post-Processing angewendet, bevor das endgültige Signal überhaupt über das Kabel an den Monitor gesendet wird.
Seit Version 4.4 (2013) konzentriert sich OpenGL auf den Abgleich großer Datenmengen - es wurden spärliche Texturen eingeführt, die riesige Details übertragen können, ohne den gesamten Speicher zu belegen, und "unveränderliche" Puffer, die den Zuweisungsaufwand verringern. Version 4.5 (2014) fügt Direct State Access hinzu, so dass Sie Objekte direkt setzen können, ohne ständig den Kontext zu wechseln, was das Rendering mit mehreren Threads erheblich vereinfacht. Die neueste Version 4.6 (2017) konvergiert mit Vulkan: Sie unterstützt das universelle binäre SPIR-V-Shader-Format, ermöglicht die optionale Deaktivierung von Fehlerprüfungen für eine noch geringere Latenz und bietet detailliertere Pipeline-Traversal-Statistiken.