OpenGL

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

OpenGL (ang. Open Graphics Library) – specyfikacja otwartego i uniwersalnego API do tworzenia grafiki. Zestaw funkcji składa się z 250 podstawowych wywołań, umożliwiających budowanie złożonych trójwymiarowych scen z podstawowych figur geometrycznych.

Software development kit, SDK – zestaw narzędzi dla programistów niezbędny w tworzeniu aplikacji korzystających z danej biblioteki (np. DirectX SDK), pod dany system (np. Microsoft Platform SDK), sprzęt itp.Matrox – kanadyjska firma dostarczająca sprzęt i rozwiązania do obsługi grafiki (w tym karty graficzne i chipsety), edycji wideo oraz przetwarzania obrazów. Firma znana jest głównie z produkcji kart graficznych przez oddział firmy Matrox Graphics Inc. zwanym MGA.

Cel[ | edytuj kod]

Główny[ | edytuj kod]

Głównym celem jest tworzenie grafiki. Dzięki temu, że polecenia są realizowane przez sprzęt (procesor graficzny = GPU), tworzenie grafiki następuje szybciej niż innymi sposobami. Ten efekt nazywamy przyspieszeniem sprzętowym. OpenGL wykorzystywany jest często przez gry komputerowe i wygaszacze ekranu, spełnia rolę analogiczną, jak konkurencyjny Direct3D (część DirectX) w systemie Windows firmy Microsoft. Również programy do przedstawiania wyników badań naukowych, CAD, oraz wirtualnej rzeczywistości używają OpenGL.

Renderowanie (od ang. rendering) – przedstawienie informacji zawartych w dokumencie elektronicznym w formie najbardziej właściwej dla danego środowiska (np. wizualnie, w tym na ekranie i w druku, czy dźwiękowo). Mechanizm odpowiedzialny w programie komputerowym za renderowanie nazywa się mechanizmem renderującym (ang. rendering engine, czasem silnik renderujący) lub rendererem (z ang.).Khronos Group została założona w styczniu 2000 roku przez wiodące korporacje w dziedzinie systemów multimedialnych (media-centric), w skład których wchodzą między innymi: 3Dlabs, ATI, Discreet, Evans & Sutherland, Intel, NVIDIA Corporation, SGI, Google i Sun Microsystems. Celem tej organizacji jest tworzenie otwartych standardów API umożliwiających authoring i odtwarzanie w szerokim zakresie mediów na różnorodnych platformach i urządzeniach.

Dodatkowy[ | edytuj kod]

OpenGL jest wykorzystywane do szybkich obliczeń (GPGPU), mimo że nie był do tego zaprojektowany.

Opis działania[ | edytuj kod]

OpenGL, podobnie jak np. X Window System, działa w architekturze klient-serwer. Klientem w tym przypadku jest aplikacja wykorzystująca OpenGL, która zleca operacje graficzne do wykonania, a serwerem – aktualnie używana implementacja OpenGL (np. w sterowniku karty graficznej). Zwykle klient i serwer znajdują się na tej samej maszynie, jednak nie jest to konieczne – biblioteka jest zaprojektowana tak, aby możliwe było np. wyświetlanie grafiki OpenGL na zdalnym terminalu. Jednocześnie dzięki zastosowaniu zunifikowanego protokołu komunikacji wyświetlanie może odbywać się na zupełnie innej platformie niż ta, na której działa aplikacja.

NVIDIA Corporation NASDAQ: NVDA – amerykańska firma komputerowa; jeden z największych na świecie producentów procesorów graficznych i innych układów scalonych przeznaczonych na rynek komputerowy. NVIDIA jest także głównym dostawcą (pod względem udziału w rynku) producentów kart graficznych dla komputerów osobistych ze swoją standardową serią GeForce.Sterownik urządzenia to program lub fragment programu odpowiadający za dane urządzenie i pośredniczący pomiędzy nim, a resztą systemu komputerowego. Zwykle uabstrakcyjnia pewne cechy urządzenia, choć może jedynie zajmować się kwestiami uprawnień dostępu i udostępniać urządzenie bez żadnej ingerencji. Wtedy program, który z niego korzysta też jest w pewnym sensie sterownikiem.

Jedną z podstawowych cech OpenGL jest to, że jest on maszyną stanu (ang. state machine). Na stan OpenGL w danym momencie składa się szereg parametrów i trybów działania, które można ustawić lub zapamiętać na stosie i później odtworzyć. Ich konfiguracja będzie miała bezpośredni lub pośredni wpływ na otrzymany rezultat renderingu. Raz ustawiony parametr lub tryb działania pozostaje zachowany aż do następnej zmiany. Przykładami takich parametrów mogą być kolor rysowania, aktualnie używana tekstura, sposób działania bufora Z, macierz na której wykonywane są aktualnie operacje, oraz wiele innych.

GLUT (ang. OpenGL Utility Toolkit) – biblioteka użytkowa, która wykonuje głównie operacje wejścia/wyjścia na poziomie systemu operacyjnego.Procesor graficzny, inaczej GPU (ang. Graphics Processing Unit) – jest główną jednostką obliczeniową znajdującą się w nowych kartach graficznych.

Część z parametrów może być włączana lub wyłączana w sposób bardzo oczywisty, tzn. poprzez wywołanie funkcji glEnable() lub glDisable() (w tłumaczeniu brzmiałoby to: glWłącz() oraz glWyłącz()), a inne ustawiane są poprzez wykonanie powiązanych z tymi parametrami funkcji (np. glBindTexture() – ustawienie aktywnej tekstury).

Microsoft Windows (ang. windows „okna”, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone. OpenGL Extension Wrangler Library (GLEW) – programistyczna biblioteka międzyplatformowa do języka C/C++, pomagająca w odpytywaniu i ładowaniu rozszerzeń OpenGL. GLEW dostarcza efektywne mechanizmy do określania w czasie uruchamiania programu dostępnych rozszerzeń na danej platformie. Wszystkie rozszerzenia OpenGL są wylistowane w jednym pliku nagłówkowym, który z kolei jest maszynowo generowany na podstawie oficjalnej listy rozszerzeń. GLEW jest dostępny na wielu platformach, np. Windows, Linux, Mac OS X, FreeBSD, IRIX i Solaris. GLEW jest dystrybuowany na warunkach zmodyfikowanej licencji BSD.

Dzięki funkcji glPushAttrib() możliwe jest zapamiętanie na stosie części lub całości aktualnego stanu OpenGL w zależności od przekazanego jej argumentu. Funkcja odwrotna, czyli glPopAttrib() nie wymaga żadnych argumentów, gdyż pobiera ze szczytu stosu taki stan, jaki został wcześniej zapamiętany.

Automat skończony (ang. finite state machine, FSM) – abstrakcyjny, matematyczny, iteracyjny model zachowania systemu dynamicznego oparty na tablicy dyskretnych przejść między jego kolejnymi stanami (diagram stanów).Mipmapping to technika teksturowania bitmapami wykorzystywana w grafice trójwymiarowej, która pozwala uniknąć artefaktów i tym samym uzyskać lepszą jakość obrazów. Także przyspiesza sam proces teksturowania. Mipmapping został opracowany przez Lance Williamsa w 1983 roku.


Podstrony: 1 [2] [3] [4] [5]




Warto wiedzieć że... beta

DirectX – zestaw funkcji API wspomagających generowanie grafiki (dwu- i trójwymiarowej), dźwięku oraz innych zadań związanych zwykle z grami i innymi aplikacjami multimedialnymi.
ATI Technologies Inc. (gdzie ATI jest skrótem od Array Technologies Incorporated) NASDAQ: ATYT – to kanadyjski producent układów scalonych, znany głównie ze swoich kart graficznych. Notowany na giełdach w Toronto i NASDAQ.
OpenGL Architecture Review Board (ARB, OpenGL ARB) – zrzeszenie firm, zajmujące się rozwojem biblioteki OpenGL. Utworzone w 1992 roku ustanawia nowe standardy grafiki 3D oraz kierunku rozwoju sektora graficznego, przygotowuje, testuje i zatwierdza zmiany w specyfikacji, a także przygotowuje oficjalne aktualizacje biblioteki. 31 lipca 2006 r. kontrola na biblioteką OpenGL zostały przekazane do Khronos Group.
Otwarty standard – standard, do którego pełnej specyfikacji dostęp nie jest limitowany prawnie, finansowo lub tajemnicą handlową firmy, która standard opracowała. Ponadto standard uznawany jako otwarty jest opracowywany, zatwierdzany oraz później ewentualnie modyfikowany przez porozumienie (organizację) zainteresowanych tworzeniem tego standardu podmiotów, działające niedochodowo i zapewniające członkostwo wszystkim zainteresowanym.
OpenGL Shading Language (GLSL, glslang) – język programowania potoku graficznego składniowo zbliżony do języka C, wykorzystywany przez bibliotekę OpenGL. Program napisany w GLSL wykonywany jest bezpośrednio na GPU.
Apple Inc. (wcześniej Apple Computer Inc.) NASDAQ: AAPL – amerykańska korporacja zajmująca się projektowaniem i produkcją elektroniki użytkowej, oprogramowania i komputerów osobistych z siedzibą w Cupertino w Kalifornii. Założona przez Steve’a Wozniaka – projektanta, Steve’a Jobsa i Ronalda Wayne’a. Produkty spółki to m.in.: komputery Mac, iPod, iPhone i iPad. Oprogramowanie Apple obejmuje system operacyjny OS X, przeglądarkę multimediów iTunes, pakiet oprogramowania multimedialnego i kreatywności iLife, pakiet oprogramowania biurowego iWork, profesjonalny pakiet fotografii Aperture, pakiet profesjonalnych rozwiązań wideo Final Cut Studio oraz zestaw narzędzi audio Logic Studio. Od stycznia 2010 roku firma działa poprzez 284 własnych sklepów detalicznych w dziesięciu krajach, oraz za pośrednictwem sklepu internetowego sprzedającego zarówno sprzęt, jak i oprogramowanie.
Pliki nagłówkowe – przy kompilatorze języka C i pochodnych (C++ itp.) pliki źródłowe o rozszerzeniu "h" (w C++ powinno się dla odróżnienia stosować "hpp", ale w praktyce najczęściej spotykane jest nadal rozszerzenie "h") zawierające opis interfejsu modułu: deklaracje zmiennych, funkcji, klas i innych struktur danych. Używa się ich po to, by nie trzeba było przy każdej najmniejszej zmianie w implementacji jednego modułu rekompilować wszystkich innych odwołujących się do niego. W nowszych językach takich jak Java czy C# nie ma już potrzeby stosowania plików nagłówkowych.

Reklama