Jak wybrać najlepszy SDK OpenGL®?
Dostępnych jest wiele zestawów programistycznych Open Graphics Library® (OpenGL®) (SDK), chociaż wiele jest ukierunkowanych specjalnie do określonego zastosowania. Deweloperzy kart graficznych i sprzętu zwykle zapewniają wersję SDK OpenGL®, która jest dość kompletna w odniesieniu do próbek kodu i dokumentacji, ale które mogą również zawierać funkcje specyficzne dla sprzętu, jaki produkuje firma. Niektóre SDK koncentrują się na zapewnieniu łatwego dostępu do interfejsu programowania OpenGL® (API), zwykle koncentrując się na konkretnym użyciu, takim jak wizualizacja molekularna, fizyka lub sztuka interaktywna. Bardziej kompletny SDK OpenGL® może zawierać w pełni funkcjonujący framework lub scenegraph, który rozszerza funkcjonalność podstawowego interfejsu API, choć może również mieć bardziej strome krzywą uczenia się niż prostszy SDK. Wiele SDK OpenGL® koncentruje się na dostarczaniu wysokowydajnych grafiki i algorytmów, które są najlepiej używane do animacji w czasie rzeczywistym, interaktywne środowiska trójwymiarowe (3D) lub gam wideoes.
Jednym z ważnych rozróżnień jest to, że SDK OpenGL® różni się od API OpenGL®. API jest podstawowym interfejsem wymaganym do pisania i kompilacji aplikacji OpenGL®. SDK OpenGL® może być zbiorem narzędzi, kodu źródłowego, dokumentów i bibliotek, które mogą rozwinąć funkcjonalność interfejsu API, obejmować ulepszone sterowniki OpenGL® lub zapewnić narzędzia do ułatwienia korzystania z interfejsu API. Twórcy OpenGL® nie utrzymują żadnych oficjalnych SDK OpenGL®, więc wszystkie zestawy są pisane i opracowywane przez poszczególne społeczności, programiści lub firmy, niezależnie od OpenGL® Architecture Review Board (ARB).
Najlepszy SDK OpenGL® będzie taki, który nadaje się do wiedzy specjalistycznej programisty i nie jest zbyt złożony do projektu. W przypadku prostych projektów, takich jak wyświetlanie wyników funkcji lub algorytmu, ogólnie byłby podstawowy SDK matematykiznacznie bardziej odpowiedni niż zestaw dostarczany przez producenta kart graficznych, aby skupić się na specjalnych funkcjach, takich jak renderowanie półprzezroczystych włosów. Podobnie w niektórych przypadkach najlepszym SDK może nie być SDK, ponieważ podstawowe możliwości rysowania OpenGL® są obecne tylko z API.
W przypadku dużych lub interaktywnych programów, które mogą wymagać dużej ilości ładowania modelu i manipulacji obrazem, może być wymagana pełniejsza SDK OpenGL®. Zarówno komercyjne, jak i open source SDK są dostępne na różnych poziomach złożoności, które mogą tworzyć wiele często używanych funkcji - takich jak konstruowanie obiektów buforowych wierzchołków lub animacja czasu - bardzo łatwy w dostępie. Jednym z komplikacji z SDK, który implementuje coś tak dużego jak kompletna scena, jest to, że będzie on wymagał stromej krzywej uczenia się, ponieważ kod dla SDK może być bardzo daleko od podstawowych technik OpenGL®.
Narzędzia, które są wyposażone w SDK OpenGL®, czasami mogą być importowanet, aby pomóc usprawnić rozwój. Mogą one obejmować programy przeglądania, aby zobaczyć, jak będzie wyglądać scena lub model po renderowaniu z SDK lub wtyczkami dla powszechnie używanych programów modelowania, co pozwoliłoby na eksport plików bezpośrednio do formatów użytecznych przez SDK. Oprócz narzędzi, jedną z funkcji dobrego SDK będzie właściwa dokumentacja, a także społeczność, która jest dostępna do odpowiadania na pytania.