Hur väljer jag den bästa OpenGL® SDK?

Det finns ett antal Open Graphics Library® (OpenGL®) mjukvaruutvecklingskit (SDK) tillgängliga, även om många är specifikt inriktade på en viss användning. Utvecklarna av grafikkort och hårdvara tillhandahåller vanligtvis en OpenGL® SDK som är ganska komplett när det gäller kodexempel och dokumentation men som också kan innehålla funktioner som är specifika för hårdvara som företaget producerar. Vissa SDK:er fokuserar på att ge enkel åtkomst till OpenGL® abstrakt programmeringsgränssnitt (API), vanligtvis med fokus på en viss användning, såsom molekylär visualisering, fysik eller interaktiv konst. En mer komplett OpenGL® SDK kan inkludera ett fullt fungerande ramverk eller scenografi som utökar funktionaliteten hos kärn-API:et, även om det också kan ha en brantare inlärningskurva än en enklare SDK. Ett antal OpenGL® SDK:er fokuserar på att tillhandahålla högpresterande grafik och algoritmer som bäst används för realtidsanimering, interaktiva tredimensionella (3D) miljöer eller videospel.

En viktig skillnad att göra är att en OpenGL® SDK skiljer sig från OpenGL® API. API:t är det grundläggande gränssnittet som krävs för att skriva och kompilera en OpenGL®-applikation. En OpenGL® SDK kan vara en samling verktyg, källkod, dokument och bibliotek som kan utöka funktionaliteten hos API:t, inkludera förbättrade OpenGL®-drivrutiner eller tillhandahålla verktyg för att göra användningen av API enklare. Utvecklarna av OpenGL® underhåller inga officiella OpenGL® SDK:er, så alla kit är skrivna och utvecklade av enskilda gemenskaper, programmerare eller företag, oberoende av OpenGL® Architecture Review Board (ARB).

Den bästa OpenGL® SDK kommer att vara en som är anpassad till programmerarens expertis och inte alltför komplex för projektet. För enkla projekt, som att visa resultaten av en funktion eller algoritm, skulle en grundläggande matematik-SDK i allmänhet vara mycket mer lämplig än ett kit som tillhandahålls av en grafikkortstillverkare för att fokusera på speciella funktioner som att göra genomskinligt hår. På samma sätt, i vissa fall, kanske den bästa SDK:n inte är någon SDK, eftersom de grundläggande ritmöjligheterna i OpenGL® endast finns med API.

I fallet med stora eller interaktiva program som kan kräva en hel del modellinläsning och bildmanipulering, kan en OpenGL® SDK med mera funktioner krävas. Både kommersiella och öppen källkods-SDK:er finns tillgängliga i olika komplexitetsnivåer som kan göra många ofta använda funktioner – som att konstruera vertexbuffertobjekt eller timinganimering – mycket lättillgängliga. En komplikation med en SDK som implementerar något så stort som en komplett scengraf är dock att det kommer att kräva en brant inlärningskurva, eftersom koden för SDK kan vara väldigt långt borta från grundläggande OpenGL®-tekniker.

Verktygen som följer med en OpenGL® SDK kan ibland vara viktiga för att effektivisera utvecklingen. Dessa kan inkludera visning av program för att se hur en scen eller modell kommer att se ut när den renderas med SDK eller plugin-program för vanliga modelleringsprogram, vilket gör att filer kan exporteras direkt till format som kan användas av SDK. Förutom verktyg kommer en funktion i en bra SDK vara korrekt dokumentation, samt en community som är tillgänglig för att svara på frågor om de skulle uppstå.