Jak wybrać najlepszy SDK OpenGL®?

Dostępnych jest wiele zestawów programistycznych (SDK) Open Graphics Library® (OpenGL®), chociaż wiele z nich jest przeznaczonych specjalnie do określonego zastosowania. Twórcy kart graficznych i sprzętu zwykle dostarczają pakiet SDK OpenGL®, który jest dość kompletny pod względem próbek kodu i dokumentacji, ale który może również zawierać funkcje specyficzne dla sprzętu produkowanego przez firmę. Niektóre pakiety SDK skupiają się na zapewnieniu łatwego dostępu do abstrakcyjnego interfejsu programowania (API) OpenGL®, zwykle skupiając się na konkretnym zastosowaniu, takim jak wizualizacja molekularna, fizyka lub sztuka interaktywna. Bardziej kompletny pakiet OpenGL® SDK może zawierać w pełni działającą platformę lub scenegraph, która rozszerza funkcjonalność podstawowego interfejsu API, ale może również mieć bardziej stromą krzywą uczenia się niż prostszy SDK. Szereg pakietów SDK OpenGL® koncentruje się na dostarczaniu wysokowydajnej grafiki i algorytmów, które najlepiej nadają się do animacji w czasie rzeczywistym, interaktywnych środowisk trójwymiarowych (3D) lub gier wideo.

Ważnym rozróżnieniem jest to, że OpenGL® SDK różni się od OpenGL® API. API to podstawowy interfejs wymagany do pisania i kompilowania aplikacji OpenGL®. OpenGL® SDK może być zbiorem narzędzi, kodu źródłowego, dokumentów i bibliotek, które mogą rozszerzać funkcjonalność API, zawierać ulepszone sterowniki OpenGL® lub udostępniać narzędzia ułatwiające korzystanie z API. Twórcy OpenGL® nie utrzymują żadnych oficjalnych pakietów SDK OpenGL®, więc wszystkie zestawy są pisane i opracowywane przez indywidualne społeczności, programistów lub firmy, niezależne od Rady Przeglądu Architektury OpenGL® (ARB).

Najlepszym SDK OpenGL® będzie taki, który jest dostosowany do wiedzy programisty i nie jest nadmiernie skomplikowany dla projektu. W przypadku prostych projektów, takich jak wyświetlanie wyników funkcji lub algorytmu, podstawowy zestaw SDK do matematyki byłby o wiele bardziej odpowiedni niż zestaw dostarczony przez producenta karty graficznej, aby skupić się na specjalnych funkcjach, takich jak renderowanie półprzezroczystych włosów. Podobnie w niektórych przypadkach najlepszym SDK może być brak SDK, ponieważ podstawowe możliwości rysowania OpenGL® są dostępne tylko w interfejsie 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ć wymagany bardziej funkcjonalny pakiet OpenGL® SDK. Zarówno komercyjne, jak i otwarte pakiety SDK są dostępne w różnych poziomach złożoności, dzięki czemu wiele często używanych funkcji — takich jak tworzenie obiektów buforu wierzchołków lub animacja czasu — jest bardzo łatwo dostępnych. Jedną z komplikacji w przypadku SDK, który implementuje coś tak dużego jak kompletny scenegraph, jest to, że będzie to wymagało stromej krzywej uczenia się, ponieważ kod SDK może być bardzo daleki od podstawowych technik OpenGL®.

Narzędzia, które są dostarczane z pakietem OpenGL® SDK, mogą być czasami ważne, aby usprawnić programowanie. Mogą to być programy do przeglądania, aby zobaczyć, jak scena lub model będzie wyglądać po wyrenderowaniu za pomocą SDK lub wtyczek do powszechnie używanych programów do modelowania, które umożliwiłyby eksportowanie plików bezpośrednio do formatów używanych przez SDK. Oprócz narzędzi, jedną z cech dobrego SDK będzie odpowiednia dokumentacja, a także społeczność, która może odpowiedzieć na pytania, jeśli się pojawią.