Co to jest 3D WebGL ™?
Internetowa biblioteka graficzna (WebGL ™) jest abstrakcyjnym interfejsem programistycznym (API) zaprojektowanym tak, aby umożliwić korzystanie z trójwymiarowej grafiki (3D) bezpośrednio w przeglądarce internetowej bez potrzeby używania oprogramowania lub wtyczek oddzielnie od podstawowej przeglądarki . Różnica między 3D WebGL ™ a innymi językowymi językami graficznymi 3D opartymi na przeglądarce - np. VRML - polega na tym, że 3D WebGL ™ umożliwia bezpośredni dostęp do procesora graficznego (GPU) na sprzętowej karcie graficznej w komputer. Kolejna różnica polega na tym, że 3D WebGL ™ nie jest oddzielnym językiem, ale interfejsem API zaimplementowanym za pomocą języka skryptowego JavaScript®, który jest zrozumiały dla prawie wszystkich przeglądarek internetowych. Chociaż ten rodzaj bezpośredniego, niskiego poziomu dostępu do sprzętu systemu komputerowego jest jedną z mocnych stron WebGL ™, jest to również jeden z większych problemów, ponieważ przedstawia szereg problemów bezpieczeństwa, których nie można łatwo rozwiązać.
Jednym z ważnych zmian, które umożliwiły 3D WebGL ™, jest wprowadzenie elementu canvas w specyfikacji specyfikacji języka HyperText Markup w wersji 5 (HTML5). Element canvas umożliwia niskopoziomowy dostęp do rzutni, którą można rysować i utrzymywać w stylu zgodnym z istniejącymi typami interfejsów API renderowania w innych komputerowych językach programowania. Interfejs API WebGL ™ współpracuje z tym przyspieszonym obszarem roboczym, aby zapewnić możliwość szybkiego renderowania złożonych scen bez konieczności emulacji oprogramowania na różnych platformach lub implementacjach.
Interfejs API 3D WebGL ™ nie tylko wykorzystuje element canvas, ale także jest oparty na bibliotece Open Graphics Library dla systemów wbudowanych (OpenGL ES®). Jest to przenośna wersja standardowej biblioteki OpenGL®, która została zaprojektowana tak, aby była przenośna nie tylko między różnymi komputerowymi systemami operacyjnymi, ale także na dowolnym urządzeniu wymagającym użycia grafiki 3D niskiego poziomu. Ten niewielki rozmiar pozwala zintegrować bibliotekę z dowolną przeglądarką dla prawie dowolnego urządzenia.
Implementacja 3D WebGL ™ pozwala na tworzenie interaktywnych programów, które można uruchamiać bezpośrednio ze strony internetowej lub pobierać i uruchamiać jako samodzielną aplikację w przeglądarce internetowej. Można go używać do tworzenia gier wideo 3D, oprogramowania edukacyjnego, symulacji i oprogramowania do wizualizacji 3D dla biznesu i badań naukowych. Używając przeglądarki jako aplikacji do pakowania, środowiska 3D można opracować bez konieczności martwienia się o powtarzalny kod wzorcowy dla podstawowych interfejsów.
Jedną z największych wad korzystania z 3D WebGL ™, która uniemożliwia jej powszechną akceptację przez niektóre firmy produkujące oprogramowanie i sprzęt, jest ryzyko związane z bezpieczeństwem. Zdolność programu do uzyskania dostępu do GPU może dać szkodliwemu programowi możliwość zmuszenia systemu komputerowego hosta do wykonania szkodliwego kodu. Wykazano również, że ataki typu „odmowa usługi” (DOS) są możliwe przy użyciu interfejsu API WebGL ™. Z tego powodu niektóre duże firmy komputerowe odmawiają pełnego wsparcia WebGL ™ w swoich produktach.