Hvordan velger jeg den beste OpenGL® SDK?
Det er et antall Open Graphics Library® (OpenGL®) programvareutviklingssett (SDK) tilgjengelig, selv om mange er spesielt rettet mot en viss bruk. Utviklerne av grafikkort og maskinvare gir vanligvis en OpenGL® SDK som er ganske komplett med hensyn til kodeprøver og dokumentasjon, men som også kan inkludere funksjoner som er spesifikke for maskinvare selskapet produserer. Noen SDK-er fokuserer på å gi enkel tilgang til OpenGL® abstrakt programmeringsgrensesnitt (API), og fokuserer vanligvis på en bestemt bruk, for eksempel molekylær visualisering, fysikk eller interaktiv kunst. En mer komplett OpenGL® SDK kan inneholde et fullt fungerende rammeverk eller scenegraph som utvider funksjonaliteten til kjerne-API, selv om det også kan ha en brattere læringskurve enn en enklere SDK. En rekke OpenGL® SDK-er fokuserer på å tilby grafikk og algoritmer med høy ytelse som er best brukt til animasjon i sanntid, interaktive tredimensjonale (3D) miljøer eller videospill.
Et viktig skille å gjøre er at en OpenGL® SDK er forskjellig fra OpenGL® API. API er det grunnleggende grensesnittet som kreves for å skrive og kompilere en OpenGL®-applikasjon. En OpenGL® SDK kan være en samling av verktøy, kildekode, dokumenter og biblioteker som kan utvide funksjonaliteten til API, inkludere forbedrede OpenGL®-drivere eller gi verktøy for å gjøre bruk av API enklere. Utviklerne av OpenGL® har ikke noen offisielle OpenGL® SDK-er, så alle sett er skrevet og utviklet av individuelle samfunn, programmerere eller selskaper, uavhengig av OpenGL® Architecture Review Board (ARB).
Den beste OpenGL® SDK vil være en som passer for programmererens kompetanse og ikke er for komplisert for prosjektet. For enkle prosjekter, for eksempel å vise resultatene av en funksjon eller algoritme, vil en grunnleggende matematikk-SDK generelt være langt mer egnet enn et kit som leveres av en grafikkortprodusent for å fokusere på spesielle funksjoner som gjengivelse av gjennomskinnelig hår. I noen tilfeller kan den beste SDK-en ikke være noen SDK, fordi grunnleggende tegningsmuligheter til OpenGL® kun er til stede med API.
I tilfelle av store eller interaktive programmer som kan kreve en god mengde modellbelastning og bildemanipulering, kan det være nødvendig med en fullverdig OpenGL® SDK. Både kommersielle og åpen kildekode-SDK-er er tilgjengelige i forskjellige nivåer av kompleksitet som kan gjøre mange ofte brukte funksjoner - for eksempel å konstruere toppunktbufferobjekter eller timinganimasjon - veldig enkle å få tilgang til. En komplikasjon med en SDK som implementerer noe så stort som en komplett scenegraf, er imidlertid at det vil kreve en bratt læringskurve, fordi koden for SDK kan være veldig fjernt fra grunnleggende OpenGL®-teknikker.
Verktøyene som følger med en OpenGL® SDK noen ganger kan være viktige for å effektivisere utviklingen. Disse kan inkludere visning av programmer for å se hvordan en scene eller modell vil se ut når de blir gjengitt med SDK eller plug-ins for ofte brukte modelleringsprogrammer, noe som vil tillate filer å bli eksportert direkte til formater som kan brukes av SDK. I tillegg til verktøy, vil en funksjon i en god SDK være riktig dokumentasjon, samt et fellesskap som er tilgjengelig for å svare på spørsmål dersom de skulle oppstå.