OpenGL

logo OpenGL
Logo OpenGL  

V této části o programování v jazyku C se zaměřím na knihovnu OpenGL. Tato knihovna se používá pro vykreslování 3D objektů. Například při programování her. Nepopisuji zde syntax programovacího jazyka C. Tím se zabývá Programování v C/C++ a já budu předpokládat, že v C už umíte. Určitě bude i výhodou, pokud budete mít nastudované programování v Linuxu, ale není to nutné.

Obsah

Zdrojové soubory z příkladů pro linux si můžete stáhnout zde: zdrojaky-opengl.zip. Pro windows (Visual Studio) zde: zdrojaky-opengl-vs2013.zip, nebo zde: zdrojaky-opengl-vs2017.zip

Kromě toho se vám bude ještě hodit, pro kapitolu o assimpu, model Nanosuit.

Jak začít s OpenGL? Nejdřív musíte začít s matematikou. Tak hurá na to :-).

Matematické základy

  1. Matematika
    Popis goniometrických funkcí, vektorů a matic.
  2. 2D transformace
    Transformace souřadnic ve 2D.
  3. 3D transformace
    Transformace souřadnic ve 3D.
  4. Perspektiva
    Perspektivní zobrazní 3D prostoru.
  5. Osvětlení
    Phongův model, řešení osvětlení tělesa.

Úvod do OpenGL a souvisejících knihoven

  1. O OpenGL
    Teoretický úvod do OpenGL. Co je OpenGL, OpenGL ES, WebGL, Vulkán, GLSL a graphics pipelnine.
  2. GLFW vs Freeglut
    Vytvoření okna a interakce s klávesnicí a myší.
  3. Glad vs Glew
    Získání odkazů na OpenGL funkce pomocí knihoven Glad a Glew.
  4. OpenGL - matematické knihovny
    V této kapitole se podíváme na dvě knihovny, které vám pomohou s matematickými výpočty.

Začínáme programovat

  1. OpenGL - GLSL
    O GLSL (OpenGL shader language).
  2. OpenGL - shadery
    Použití shaderů (GLSL). Získávání odkazů na shader attribute a uniform proměnné.
  3. OpenGL - příklad
    První kompletní příklad vykreslování pomocí OpenGL. Trojúhelníky a jehlanu.
  4. OpenGL - kamera
    Vykreslování pomocí indexů vrcholů (glDrawElements()). Změna pozice kamery. Funkce LookAt().
  5. OpenGL - osvětlení
    Ambient, diffuse a specular osvětlení prakticky.
  6. OpenGL - textury
    Použití obrázku jako textury plochy.
  7. OpenGL - pohyb FPS
    Pohyb ve stylu FPS (First person shooter)
  8. OpenGL - Assimp
    Použití Open Asset Import Library pro zobrazení 3D modelů.
  9. OpenGL - zdroje
    Odkazy na zdroje a další OpenGL/WebGL/JOGL tutoriály.
Komentář Hlášení chyby
Created: 27.10.2016
Last updated: 30.11.2017