• 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