Opengl - architektura systemu do programowania grafiki
bazuje na specyfikacji
maszyna stanu
rozszerzalnosc
wieloplatformowosc
mozliwe łączenie z innymi językami
Architektura
opengl odwołuje się bezpośrednio do karty graficznej z pominięciem systemu operacyjnego
karty mogą mieć moduły rozwiązujące funkcje opengl poza procesorem
Program w opengl
utworzenie okna w framebufferze
przechwycenie kontekstu okna
renderowanie obiektów w oknie
fragment - zbiór danych wykorzystywany do narysowania jednego piksela obrazu. Jego parametrami są położenie, kolor, wspl tekstur, mgly, z-buffora, stan alpha itd.
VBO - vertex buffer object
openGL ES(Embedded Systems) - standard wybranych funkcji opengl do implementacji na urządzeniach o ograniczonych zasobach
GLUT - chyba wiemy do czego sluzy ;)
GLUI - do tworzenia windowsowych GUI
GPU - programowalny procesor niezależny od CPU
szybko przetwarzający dane graficzne
szybkie operacje macierzowe - architektura SIMD
zrównoleglenie obliczeń
General Purpose GPU - wykorzystywanie GPU do innych obliczeń
shader - program wykonywany na GPU
vertex shader -
operuj na każdym wierzchołku sceny
efekty blur, diffuse, specular
pixel shader -
operuje na kazdym pixelu
efekty texturing, fog blending
programowanie shaderów
języki
GLSL- opengl Shading Language
CG (Nvidia)
HLSL (Microsoft)
CUDA - Compute Unifed Device Architekture - technologia programowania GPGPU
dostepne na Nvidiach >8
stream procesing - umozliwia zrownoleglenie obliczeń
umozliwia programowanie wysokopoziomowe
openVG - Standard i API służące do rysowania dwuwymiarowej grafiki wektorowej i rastrowej, wspomagana przez istniejące wyniki, ogranicza zużycie baterii, przez wspomaganie sprzętowae
Rysowanie wspomagene sprzętowo
zunifikowane funkcje (niezależne od urządzenia)
anty-aliasing
rysowanie tekstu