Vilka är de olika typerna av OpenGL®-bibliotek?

Det finns flera typer av Open Graphics Library®-bibliotek (OpenGL®) som kan installeras och användas på datorsystem, och de flesta av dem uppfyller specifika behov hos grafikprogrammerare. Den första typen inkluderar de grundläggande OpenGL®-biblioteken, som innehåller ungefär 120 kommandon för att tillåta åtkomst till grafikhårdvara, även om dessa OpenGL®-bibliotek kan delas upp ytterligare beroende på vilken plattform de är avsedda att fungera på. Många verktygsbibliotek har skapats – av vilka några nästan alltid används av OpenGL®-programmerare – för att hjälpa till att gruppera funktioner på mycket låg nivå i enkla anrop på högre nivå för bekvämlighet och kodtydlighet. Det finns ibland OpenGL®-bibliotek som är utvecklade av de specifika tillverkarna av grafikhårdvara för att hjälpa till att öka prestanda eller stödja specialeffekter som hårdvaran presterar inbyggt. Det finns också användarskapade bibliotek på mycket hög nivå som har skapats från större projekt och distribueras för att hjälpa till med snabb applikationsutveckling.

Core OpenGL®-bibliotek är nödvändiga för utveckling och driftsättning av program som använder OpenGL® för att rendera grafik. De tillåter program att använda ett gemensamt abstrakt programmeringsgränssnitt (API) för att anropa funktionerna i OpenGL®-biblioteket, varefter biblioteket kommer att interagera direkt med hårdvarudrivrutiner. Drivrutinerna kommer sedan åt hårdvaran direkt, vilket orsakar en ökning av visningshastigheten. Alla andra OpenGL®-bibliotek är baserade på kärnbiblioteken.

Många av kommandona som används av kärnbiblioteken är ganska låga, så ett antal verktygsbibliotek, även kallade verktygssatser, har skapats. Dessa kombinerar de grundläggande kommandona till mer funktionella rutiner som tar mycket av upprepningen av att använda OpenGL®. Ett exempel på att använda ett verktygsbibliotek involverar att rita en cirkel, som kan ta flera rader kod med bara core OpenGL® men som kan kondenseras till en optimerad rutin inom ett verktygsbibliotek som OpenGL® Utility Toolkit (GLUT). Ibland delar vissa bibliotek samma namn men porteras för användning på olika operativsystem eller för olika språkbindningar, och de kan innehålla olika funktioner.

Vissa OpenGL®-bibliotek produceras faktiskt av hårdvarutillverkare. Utökade bibliotek kan nås via OpenGL®-tilläggsmekanismen eller direkt med API:er som tillhandahålls av tillverkarna. Dessa typer av bibliotek ser inte alltid utbredd användning på grund av deras smala målplattformar och på grund av att mycket populära tillägg ofta viks in i kärnbiblioteken.

Det finns också OpenGL®-bibliotek som skapas av programmerare och användare som inte är associerade med kärnbiblioteken eller någon hårdvara. Dessa bibliotek släpps ofta så att andra programmerare som skapar vissa typer av vetenskapliga, matematiska eller underhållningsapplikationer kan dra nytta av att ha ett ramverk att bygga på. Det finns också bibliotek som härrör från gemenskapen som lägger till interaktivitet och programlogik till de andra biblioteken på ett praktiskt sätt.