www.wikidata.de-de.nina.az
OpenGL Open Graphics Library deutsch Offene Grafikbibliothek ist eine Spezifikation einer plattform und programmiersprachenubergreifenden Programmierschnittstelle API zur Entwicklung von 2D und 3D Computergrafikanwendungen Der OpenGL Standard beschreibt etwa 250 Befehle die die Darstellung komplexer 3D Szenen in Echtzeit erlauben Zudem konnen andere Organisationen zumeist Hersteller von Grafikkarten proprietare Erweiterungen definieren OpenGLBasisdatenEntwickler Khronos GroupErscheinungsjahr 1992Aktuelle Version 4 6 31 Juli 2017 1 Betriebssystem plattformubergreifendProgrammiersprache C GLSLKategorie APILizenz verschieden 2 www opengl orgDie Implementierung des OpenGL API erfolgt in der Regel durch Systembibliotheken auf einigen Betriebssystemen auch als Teil der Grafikkarten Treiber Diese fuhren entsprechend Befehle der Grafikkarte aus insbesondere mussen auf der Grafikkarte nicht vorhandene Funktionen durch die CPU emuliert werden Der Nachfolger von OpenGL ist Vulkan Inhaltsverzeichnis 1 Das Programmiermodell 2 Erweiterungen 3 Historische Entwicklung 4 Versionsgeschichte 5 Longs Peak und die Kontroverse zu OpenGL 3 0 6 Vor und Nachteile von OpenGL gegenuber Direct3D 7 Schnittstellen zum System 8 Kommando Syntax 9 Typische Anwendungen fur OpenGL 10 Unterstutzte Plattformen 11 WebGL 12 Vulkan 13 Siehe auch 14 Literatur 15 Weblinks 16 EinzelnachweiseDas Programmiermodell Bearbeiten nbsp Diagramm der Grafikpipeline von OpenGLViele Parameter konnen die Darstellung von gerenderten Objekten beeinflussen beispielsweise konnen sie texturiert und beleuchtet sein gestreckt verschoben transparent oder undurchsichtig sie konnen eine raue oder glatte Oberflache haben und so weiter OpenGL wurde als Zustandsautomat entworfen der nicht bei jedem Funktionsaufruf alle benotigten Parameter erhalt sondern so lange dieselben Werte verwendet bis die entsprechenden Zustande geandert werden Auf diese Weise braucht man zum Beispiel nicht fur jeden Vertex OpenGL die gewunschte Farbe mitzuteilen sondern setzt einmalig eine Farbe woraufhin alle folgenden Vertices in dieser Farbe dargestellt werden Auf dieselbe Weise kann man global Lichtquellen an oder ausschalten und viele weitere Zustande setzen Der Grund fur dieses Design ist dass fast jede Anderung des Zeichenmodus aufwendige Reorganisationen der Grafikpipeline nach sich zieht daher vermeidet man diese lieber so lange es sinnvoll moglich ist Auch ware es fur den Programmierer ermudend dutzende Parameter immer wieder neu anzugeben Oft konnen viele tausend Vertices bearbeitet werden bevor wieder ein Zustand geandert werden muss wahrend manche Zustande sogar nie geandert werden Beispielsweise bleiben die Lichtquellen meistens fur alle Objekte einer Szene die gleichen Viele Zustande werden zumindest fur die Dauer des Renderns eines kompletten Objekts beibehalten zum Beispiel wird ein Auto als Ganzes um einen bestimmten Vektor verschoben und nicht in seine Einzelteile zerlegt und diese einzeln verschoben Auch in Direct3D verfolgt man dieses zustandsbasierte Konzept Erweiterungen BearbeitenEine wichtige Eigenschaft von OpenGL ist dessen Erweiterbarkeit Einzelne Anbieter typischerweise Grafikkartenhersteller konnen die Zustandsmaschine von OpenGL um weitere Zustande erweitern Dabei wird eine vierstufige Vorgehensweise verfolgt Wenn ein Hersteller eine Erweiterung realisieren mochte so liefert er eine C Headerdatei aus in der er die Erweiterung mit den notigen Konstanten und evtl Funktionsprototypen definiert Die Funktionsnamen und Konstanten erhalten ein herstellerspezifisches Suffix z B NV fur Nvidia oder ATI fur ATI Einigen sich dann mehrere Hersteller darauf die gleiche Erweiterung anzubieten bekommen die Funktionsnamen und Konstanten das Suffix EXT Einigt sich schliesslich das ARB Architecture Review Board darauf die Erweiterung zu standardisieren erhalten alle Namen das Suffix ARB Die meisten vom ARB standardisierten Erweiterungen werden in der folgenden OpenGL Spezifikation dann core das heisst sie werden Bestandteil von OpenGL selbst und haben dann kein Suffix mehr Historische Entwicklung BearbeitenOpenGL entstand ursprunglich aus dem von Silicon Graphics SGI entwickelten IRIS GL Die Version OpenGL 1 0 wurde von Mark Segal und Kurt Akeley verfasst 3 Im sogenannten Fahrenheit Projekt versuchten Microsoft und SGI ihre 3D Standards zu vereinheitlichen das Projekt wurde jedoch wegen finanzieller Schwierigkeiten auf Seiten von SGI abgebrochen Der OpenGL Standard wird vom OpenGL ARB Architecture Review Board festgelegt Das ARB existiert seit 1992 und besteht aus einer Reihe von Firmen Stimmberechtigte Mitglieder sind die Firmen 3DLabs Apple AMD ATI Dell IBM Intel Nvidia SGI und Sun Stand Nov 2004 Weiter mitwirkende Firmen sind Evans amp Sutherland Imagination Technologies Matrox Quantum3D S3 Graphics Spinor GmbH Tungsten Graphics und Xi Graphics Microsoft eines der Grundungsmitglieder hat das ARB im Marz 2003 verlassen Neue Funktionen in OpenGL werden meist zuerst als herstellerspezifische Erweiterungen eingefuhrt und gehen dann den Weg uber herstellerubergreifende Erweiterungen und ARB Erweiterungen zu Kernfunktionalitat Dies erlaubt es neueste Moglichkeiten der Grafikhardware zu nutzen und dennoch OpenGL abstrakt genug zu halten Seit dem 31 Juli 2006 liegt die Weiterentwicklung der OpenGL API in der Hand der Khronos Group Versionsgeschichte BearbeitenLegende Altere Version nicht mehr unterstutzt Altere Version noch unterstutzt Aktuelle Version Aktuelle Vorabversion Zukunftige VersionVersion Veroffentlichung Beschreibung AnderungenAltere Version nicht mehr unterstutzt 1 0 Januar 1992 erste VeroffentlichungAltere Version noch unterstutzt 1 1 Januar 1997 Vertex Arrays Texture Objects Polygon OffsetAltere Version noch unterstutzt 1 2 16 Marz 1998 3D Texturen neue Pixelformate BGRA Packed Level Of Detail TexturenAltere Version noch unterstutzt 1 2 1 14 Oktober 1998 ARB Extensions eingefuhrt ARB MultitextureAltere Version noch unterstutzt 1 3 14 August 2001 komprimierte Texturen Cube Maps MultitexturingAltere Version noch unterstutzt 1 4 24 Juli 2002 Tiefentexturen fur Shadow Mapping automatische Mip Map Erzeugung NebelkoordinatenAltere Version noch unterstutzt 1 5 29 Juli 2003 Pufferobjekte Vorhalten von Daten im Grafikspeicher Occlusion QueriesAltere Version noch unterstutzt 2 0 7 September 2004 Shaderprogramme OpenGL Shading Language Multiple Render Targets Texturen beliebiger Grosse nicht mehr 2n fur Hohe und Breite Altere Version noch unterstutzt 2 1 2 August 2006 Pixel Buffer Objects OpenGL Shading Language 1 20 sRGB TexturenAltere Version noch unterstutzt 3 0 Longs Peak 11 August 2008 ursprunglich geplante Ziele nur teilweise umgesetzt Codebasis aufgeraumt OpenGL Shading Language 1 30 Entfernen von Altlasten glBegin glEnd Fixed Function Pipeline T amp L etc die Architektur insgesamt Schichtmodell nahert sich an DirectX an erstmals weitestgehender Verzicht auf explizite AbwartskompatibilitatAltere Version noch unterstutzt 3 1 Longs Peak Reloaded 24 Marz 2009 4 weiteres Entfernen von Altlasten z B Fixed Function Optionen Direct Mode und Color Index Mode diese sind nur noch uber die optionale compatibility extension verfugbar OpenGL Shading Language 1 40 Uniform Buffer Objects Vertex Shader Programme erlauben mindestens 16 Texture lookups Primitive Restart Instancing CopyBuffer API in Zusammenarbeit mit OpenCL Altere Version noch unterstutzt 3 2 3 August 2009 5 hohere Ausfuhrungsgeschwindigkeit verbesserte Darstellungsqualitat beschleunigtes Geometry Processing vereinfachte Portierung von Direct3D Anwendungen OpenGL Shading Language 1 50 Geometry Shader werden bei Programmierung von Grafikpipelines jetzt auch direkt im OpenGL Kern unterstutzt funf ARB ErweiterungenAltere Version noch unterstutzt 3 3 11 Marz 2010 6 Einbindung von OpenCL OpenGL Shading Language 3 30Altere Version noch unterstutzt 4 0 11 Marz 2010 6 Einbindung von OpenCL Tessellation 7 OpenGL Shading Language 4 00Altere Version noch unterstutzt 4 1 26 Juli 2010 6 Laden von binaren Shader Programmen um Zeit zu sparen 64 Bit Floating Point Komponenten bei Vertex Shader Eingabe fur hohere Prazision Mehrere Viewports fur ein Render Surface OpenGL Shading Language 4 10Altere Version noch unterstutzt 4 2 8 August 2011 6 OpenGL Shading Language 4 20Altere Version noch unterstutzt 4 3 6 August 2012 6 Compute Shader Programme fur universelle Berechnungen OpenGL Shading Language 4 30 Plattformubergreifende Texturkompression nach ETC2 EAC Mehr Stabilitat zwischen den OpenGL AnwendungenAltere Version noch unterstutzt 4 4 22 Juli 2013 6 Mehr Kontrolle uber die Platzierung der buffer im Speicher OpenGL Shading Language 4 40 Mehrere OpenGL Objekte gleichzeitig an den Context binden Compute Shader mit variabler Work Group GrosseAltere Version noch unterstutzt 4 5 11 August 2014 6 Direct State Access DSA Flush Control Robustheit OpenGL ES 3 1 API und Shader Kompatibilitat DX11 Emulations FeaturesAktuelle Version 4 6 31 Juli 2017 6 1 Unterstutzung von SPIR VDer grosse Sprung von OpenGL 1 5 auf 2 0 erklart sich mit der Einfuhrung der OpenGL Shading Language Dies stellt eine so grosse Anderung und Erweiterung dar dass sich das ARB zu diesem Schritt entschieden hat Die Khronos Group hat die Spezifikation fur OpenGL 3 0 am 11 August zur Siggraph 2008 bekanntgegeben Die API wurde weg von der Fixed Function Pipeline hin zu den Shadern bzw Programs weg von der State Machine hin zu einem objektbasierten System umfassend uberarbeitet Dabei ist OpenGL zwar weiterhin abwartskompatibel doch es gibt keine neuen Funktionalitaten fur die alte API mehr Das neue OpenGL hat erstmals machtige Geometry Shader des 3 0 Modells Mit der raschen Veroffentlichung von OpenGL 4 0 und dessen Feature Set insbesondere der Einfuhrung der Tesselation konnte die Khronos Group seit langerer Zeit wieder gleichziehen und ist erneut mit DirectX 11 in Konkurrenz getreten 8 Unter den Titeln OpenGL 2015 und OpenGL 2016 hat NVIDIA einige neue ARBs eingebracht Ein Teil davon wurde mit OpenGL 4 6 zum Standard 2017 und 2018 wurden fur Pascal und Turing weitere Erweiterungen besonders fur VR und Raytracing zur Verfugung gestellt 9 10 11 12 13 14 15 16 17 Longs Peak und die Kontroverse zu OpenGL 3 0 BearbeitenVor der Freigabe der Version OpenGL 3 0 am 11 August 2008 war diese Revision der API unter dem Codenamen Longs Peak bekannt Zum Zeitpunkt der ursprunglichen Ankundigung wurde Longs Peak als allererste umfangreiche und tiefgreifende Uberarbeitung der API Schnittstelle in der Geschichte von OpenGL prasentiert Diese bestand aus einer grundsatzlichen Uberarbeitung der Art und Weise wie OpenGL arbeitet was fundamentale Veranderungen an der API zur Folge haben sollte Um trotz der angekundigten umfangreichen Veranderungen und revolutionaren Neuerungen die Abwartskompatibilitat mit alterer Software zu gewahrleisten sollten altere Versionen der API weiterhin verfugbar sein jedoch keine neuen Funktionen mehr dort einfliessen Dies hatte es erlaubt alten Programmcode wie z B in der Mehrzahl der CAD Anwendungen vorhanden welche ihre Codebasis seit Jahrzehnten nahezu unverandert nutzen weiterhin mit alteren Versionen der OpenGL API auszufuhren wahrend andere Programme allmahlich auf die neue Schnittstelle hin umgeschrieben oder portiert worden waren Longs Peak sollte ursprunglich bereits im September 2007 unter dem Namen OpenGL 3 0 freigegeben werden Dann jedoch gab die Khronos Gruppe am 30 Oktober 2007 bekannt dass sie auf verschiedene Problempunkte gestossen sei die sie gelost haben wollte bevor sie die Spezifikationen veroffentlichte Als Resultat verschob sich die Veroffentlichung und die Informationsquellen verstummten vollstandig Die Khronos Gruppe war zur Koordination der Weiterentwicklung eingesetzt worden da sich Neuerungen und Ideen durch die zahlreichen Mitglieder nur schwierig und sehr zeitaufwendig umsetzen liessen Nach der Aufnahme ihrer Tatigkeiten strebte sie einen klaren und engen Zeitplan mit klar definierten Zielen an und verschrieb sich einer offeneren Kommunikation Die letztendlich verabschiedeten Spezifikationen erwiesen sich als weitaus weniger spektakular als angekundigt Weite Teile des Codes wurden doch beibehalten und der vorgestellte Objektmodus war nicht integriert Auch sind keine Plane bekannt diesen in zukunftigen Versionen nachzureichen Im Endeffekt ist die API weitgehend die gleiche geblieben mit ein paar wenigen Erweiterungen an der Kernfunktionalitat Dieses enttauschende Ergebnis verursachte Unzufriedenheit bei manchen Entwicklergruppen hatte man sich doch bahnbrechende Neuerungen und ein ernstzunehmendes zukunftsweisendes plattformubergreifendes Konkurrenzprodukt zu Microsofts DirectX erhofft Aus Protest drohten manche zukunftig zu DirectX zu wechseln Am meisten fur die Enttauschung machte man die geringe bis gar nicht vorhandene Kommunikation von Seiten Khronos verantwortlich Man fuhlte sich regelrecht ausgesperrt und im Dunkeln gelassen Andere Kritik wurde an der Notwendigkeit von DirectX 10 fahiger Hardware geubt und dem Fehlen von Geometry Shadern und Instanced Rendering als Kernfunktionen Andere Quellen geben an dass die Reaktionen der Entwicklergemeinschaft nicht ganz so schlimm ausfielen wie ursprunglich berichtet da viele Verkaufer bereits geplante Unterstutzung fur die neue Version zeigten Vor und Nachteile von OpenGL gegenuber Direct3D BearbeitenVorteileClient Server Modell Draw Aufrufe sind unter bestimmten Umstanden leistungsfahiger als in Direct3D 18 plattformubergreifend von Herstellern selbst erweiterbar es gibt eine Vielzahl an Extensions fur neue noch nicht vom Standard unterstutzte Funktionen die verfugbaren Features sind von der GPU bzw deren Treiber abhangig nicht vom Betriebssystem 19 NachteileOpenGL hat eine teilweise veraltete und komplexer zu verwendende Programmierschnittstelle API die von manchen Entwicklern als umstandlich angesehen wird 20 21 Schnittstellen zum System BearbeitenDa es sich bei OpenGL um eine reine Grafikbibliothek handelt kummert sie sich nicht um die Verwaltung von Zeichenoberflachen Fenster weiteren Puffern wie etwa dem Z Buffer oder dem Stencil Buffer oder Renderkontexten um mit mehreren Anwendungen gleichzeitig die Schnittstelle nutzen zu konnen Diese mussen mit Hilfe dafur vorgesehener betriebssystemabhangiger Bibliotheken zur Verfugung gestellt werden Es gibt mehrere Bibliotheken die OpenGL mit dem darunter liegenden Betriebssystem verbinden AGL und CGL das entsprechende Gegenstuck fur macOS FreeGLUT eine neuere Alternative zum nicht mehr weiterentwickelten GLUT GLFW ahnliche Bibliothek wie GLUT die das darunterliegende Betriebssystem abstrahiert GLUT eine Bibliothek die aufbauend auf OpenGL GLU und je nach Plattform GLX WGL oder AGL eine plattformubergreifende API fur Ein Ausgabe Erstellen von Rendering Kontexten und dergleichen bietet GLX die das Interface zwischen dem X Window System und OpenGL bildet Mit GtkGLExt konnen OpenGL Grafiken in GTK Programme eingebunden werden plattformubergreifend 22 LWJGL Schnittstelle fur die Programmierung mit Java Qt kann OpenGL Kontexte erzeugen und bietet viele Interaktionsmoglichkeiten mit der eigenen Bibliothek SDL kann ebenfalls plattformubergreifend einen OpenGL Kontext erzeugen SFML nutzt genauso plattformubergreifend einen OpenGL Rendering Kontext zum Zeichnen in Fenster WebKit nutzt zur Hardwarebeschleunigung OpenGL WGL die Windows Graphics Library die OpenGL und Windows verbindet Kommando Syntax Bearbeiten nbsp OpenGL Kommando SyntaxOpenGL Kommandos enthalten ein Prafix an dem man erkennen kann aus welcher Bibliothek der Befehl stammt gefolgt von Wortern die jeweils mit Grossbuchstaben beginnen 23 gl glu glut Basis Befehl der OpenGL Library Befehl der OpenGL Utility Library GLU Befehl des OpenGL Utility Toolkit GLUT z B glShadeModelO z B gluNurbsSurfaceO z B glutCreateWindowOTypische Anwendungen fur OpenGL BearbeitenBildschirmschoner CAD Computerspiele Erweiterte Realitat Simulationen ASAMGpu 24 Virtuelle Realitat VRML AuthoringDurch die Kontinuitat der Plattform laufen Programme heute im Vergleich von AMD Grafikkarten bis zu 40 mal schneller als vor 12 Jahren und mit bis zu 15 mal geringerem Verbrauch pro Aktion ohne dass dazu der Programm Code geandert werden muss 25 Unterstutzte Plattformen BearbeitenOpenGL wird von vielen Betriebssystemen unterstutzt darunter auch den meisten fuhrenden Haiku macOS Mac OS X Mac OS 9 Classic Microsoft Windows OpenGL ist Bestandteil seit Windows 98 und NT 3 5 fur Windows 95 wurde noch ein Patch benotigt X Window System OpenGL wird vom X Window System auf folgenden Plattformen unterstutzt AIX IBM FreeBSD HP UX Hewlett Packard IRIX Silicon Graphics Linux OpenGL und GLX sind in den meisten Distributionen durch Mesa 3D implementiert Solaris Sun Microsystems Tru64 UNIX Hewlett Packard Open Graphics Library for Embedded Systems OpenGL ES gibt es fur folgende Plattformen Acorn RISC OS Amiga StormMesa und Amiga MiniGL AmigaOS MiniGL Android Apple iOS Bada HP webOS MorphOS TinyGL PlayStation 2 3 4 Pocket PC QNX Symbian VxWorks Xbox 360Plattformubergreifend Windows Mac OS Solaris und Linux wird OpenGL auch durch die Zusatze JOGL oder LWJGL der Java Plattform unterstutzt die als Wrapper zwischen Java und der nativen Implementierung des Betriebssystems fungieren WebGL Bearbeiten Hauptartikel WebGL WebGL ist ein auf OpenGL ES aufbauender Bestandteil von Webbrowsern mit dessen Hilfe hardwarebeschleunigte 3D Grafiken direkt dargestellt werden konnen Vulkan Bearbeiten Hauptartikel Vulkan API Am 3 Marz 2015 wurde auf der Game Developers Conference GDC der Nachfolger von OpenGL vorgestellt Die neue API zunachst bekannt unter dem Namen Next Generation OpenGL oder auch glNext heisst Vulkan Siehe auch BearbeitenDevIL eine plattformubergreifende API zum schnellen Laden und Speichern von Grafiken Ehemals OpenIL Arbeitet sehr gut mit OpenGL zusammen da es moglich ist mit einem einzigen Funktionsaufruf eine Bilddatei in eine OpenGL Textur zu laden oder Bildschirmfotos screen shot abzuspeichern Direct Rendering Infrastructure OpenGL Utility Library GLU die vom ARB standardisiert und Teil jeder OpenGL Implementierung ist Java 3D eine Bibliothek von Java Klassen zur Erzeugung Manipulation und Darstellung dreidimensionaler Grafiken innerhalb von Java Applikationen und Applets Nutzt je nach Plattform und Implementierung OpenGL oder Direct3D AMD Mantle eine vom Unternehmen AMD entwickelte Programmierschnittstelle fur Grafikausgaben Open Inventor eine freie objektorientierte C Programmbibliothek zur Erstellung von 3D Grafiken OpenAL eine plattformubergreifende 3D Audio API die eine Art Audio Erweiterung zu OpenGL darstellt und vom Aufbau Programmierstil und Namenskonventionen an OpenGL angelehnt ist Simple DirectMedia Layer SDL eine plattformubergreifende API fur Grafik Audio und Eingabegerate inklusive OpenGL spezifischer Funktionalitat Vulkan Nachfolger von OpenGL Literatur BearbeitenGraham Sellers Richard S Wright und Nicholas Haemel OpenGL Superbible Comprehensive Tutorial and Reference Addison Wesley Longman Amsterdam 2015 ISBN 978 0 672 33747 5 Lorenz Burggraf Jetzt lerne ich OpenGL Der einfache Einstieg in die Schnittstellenprogrammierung Markt Technik Munchen 2003 ISBN 3 8272 6237 2 Dave Shreiner Graham Sellers John Kessenich und Bill Licea Kane OpenGL Programming Guide The Official Guide to Learning OpenGL Version 4 3 Addison Wesley Longman Amsterdam 2013 ISBN 978 0 321 77303 6 Weblinks Bearbeitenwww OpenGL org englisch SGI OpenGL Homepage englisch DelphiGL deutsche OpenGL Community fur viele Programmiersprachen Schwerpunkt Delphi DGL Wiki deutschsprachiges OpenGL Nachschlagewerk TinyGL auf der Website von Fabrice Bellard englisch OpenGLsamples OpenGL codes englisch Einzelnachweise Bearbeiten a b Khronos Releases OpenGL 4 6 with SPIR V Support In khronos org 31 Juli 2017 abgerufen am 7 August 2021 englisch SGI Products Software OpenGL Licensing and Logos Nicht mehr online verfugbar 2012 archiviert vom Original am 14 Januar 2012 abgerufen am 7 Februar 2022 History of OpenGL OpenGL Wiki Abgerufen am 2 Marz 2017 englisch OpenGL 3 1 Spezifikationen PDF 2 2 MB opengl org PDF 2 4 MB OpenGL Core Specification with changes marked a b c d e f g h opengl org Khronos Forums Abgerufen am 29 August 2023 englisch Golem de IT News fur Profis Abgerufen am 29 August 2023 on demand gputechconf com PDF 7 1 MB khronos org PDF 1 2 MB khronos org PDF 5 4 MB NVIDIA Releases OpenGL 2015 OpenGL ES 3 2 Linux Driver Abgerufen am 29 August 2023 englisch OpenGL Driver Support 19 August 2013 abgerufen am 29 August 2023 englisch NVIDIA announces OpenGL 2015 beta drivers for Windows and Linux 10 August 2015 abgerufen am 29 August 2023 englisch on demand gputechconf com NVIDIA OpenGL 4 6 in 2017 Abgerufen am 29 August 2023 Turing Extensions for Vulkan and OpenGL 11 September 2018 abgerufen am 29 August 2023 englisch NVIDIA Developer Abgerufen am 29 August 2023 englisch Bringing Unreal Engine 4 to OpenGL PDF Nvidia Developer Abgerufen am 24 August 2014 Rich Geldreich Richard Geldreich s Blog Things that drive me nuts about OpenGL In Richard Geldreich s Blog 11 Mai 2014 abgerufen am 29 August 2023 OpenGL Is Broken The Burning Basis Vector 30 Mai 2014 abgerufen am 29 August 2023 amerikanisches Englisch GTK OpenGL Extension Alfred Nischwitz Max Fischer Peter Haberacker Computergrafik und Bildverarbeitung 2 Auflage Vieweg Verlag 2007 ISBN 978 3 8348 0186 9 S 48 core ac uk PDF OpenGL Performance amp Perf Per Watt From The Radeon HD 3850 Through R9 Fury Review Abgerufen am 29 August 2023 englisch Abgerufen von https de wikipedia org w index php title OpenGL amp oldid 236848094