title: OpenGL
text: OpenGL (Open Graphics Library) is een programmeertaal-onafhankelijke, multi-platform application programming interface om 2D- en 3D-vectorafbeeldingen te genereren. De API wordt typisch gebruikt om via een grafische processor (GPU) hardware-versnelde beelden te genereren. In plaats van elke pixel apart uit te laten rekenen door de CPU en dit videosignaal naar de grafische kaart te transporteren, worden complete objecten, cameraposities en lichtinstellingen aan de GPU geleverd. De GPU gaat daarna zelfstandig het beeld punt voor punt berekenen en dat beeld wordt uiteindelijk naar de monitor gestuurd. Voorheen werd de grafische kaart enkel gebruikt om het beeld op de monitor te laten verschijnen.
  
  Geschiedenis 
  OpenGL ontstond in 1992 uit het door Silicon Graphics Inc. ontwikkelde IRIS GL.
  Silicon Graphics Inc. begon OpenGL te ontwikkelen in 1991 en bracht de eerste versie uit in januari 1992.
  
  Vanaf 2006 werd de ontwikkeling overgenomen door het non-profit technologieconsortium Khronos Group.
  
  Voorbeeld 
  Om een aantal stuiterende ballen op het scherm te tonen zou een applicatie zonder OpenGL voor alle punten op het scherm (al snel meer dan een miljoen) moeten berekenen of een deel van een van de ballen op die pixel zichtbaar zou zijn. Ook moet gekeken worden welke bal dichter bij de kijker is. Daarna moet er berekend worden welke belichting dat punt ontvangt, zodat de kleur goed is. Daarna kan de pixel verstuurd worden naar de grafische kaart.
  
  Met OpenGL zal een applicatie eerst de camerapositie en de lichtinstellingen doorsturen naar de GPU. Daarna moeten alleen de posities en andere eigenschappen van de ballen naar de GPU gestuurd worden. De GPU zorgt verder voor het grafische rekenwerk. De CPU kan verdergaan met ander rekenwerk.
  
  Gebruik 
  Toepassingen waar veel gebruikgemaakt wordt van OpenGL zijn simulatoren, CAD, foto- en videobewerkingsprogramma's en computerspellen, maar ook programma's om complexe moleculen te bekijken.
  
  Met behulp van WebGL is het mogelijk 3D-computergraphics weer te geven in een webpagina. OpenGL wordt ondersteund door Google Chrome en Mozilla Firefox.
  
  Versiegeschiedenis 
  De eerste versie van OpenGL, versie 1.0, werd gepubliceerd in januari 1992 door Mark Segal en Kurt Akeley. Daarna zijn regelmatig nieuwe versies gepubliceerd. Die definiëren een nieuwe basisset van functies die alle grafische kaarten moeten ondersteunen, en waarmee nieuwe uitbreidingen gemakkelijker geschreven kunnen worden. Elke nieuwe versie bouwt ook verscheidene nieuwe uitbreidingen (extensions) in die niet tot de kernfunctionaliteit behoren, maar wel veel ondersteuning genieten bij leveranciers van grafische kaarten. Het kan voorkomen dat zo'n uitbreiding wordt opgewaardeerd tot kernfunctionaliteit, en in dat geval kan de functionaliteit ook veranderen.
  
  Vulkan 
  Vulkan, vroeger ook "Next Generation OpenGL Initiative" (glNext) genoemd, is een volledig opnieuw ontworpen opvolger van OpenGL. Vulkan is ook gemaakt om OpenGL en OpenGL ES samen te smelten in een gezamenlijke API die niet compatibel is met bestaande versies van OpenGL.
  
  De eerste versie van de Vulkan-API werd gepubliceerd op 16 februari 2016.
  
  Zie ook 
  
   DirectX
   OpenAL
   OpenCL
   Mesa (software), voor de implementatie in Linux
  
  Externe link 
   Projectpagina
  
  Technische informatica
  Application programming interface
  3D-computergraphics
  Computerspelontwikkeling
   
  Software geschreven in C