Hlavní navigace

Grafická knihovna OpenGL (33): souhrn témat

Pavel Tišnovský 17. 2. 2004

Na závěr seriálu o grafické knihovně OpenGL si sepíšeme všechna témata (dnes) i demonstrační příklady (příště), které jsme si v minulých dílech probrali.

Soupis témat, reference, obsahy

Obsah

Poznámky k organizaci této stránky
Obsah jednotlivých dílů
 

Poznámky k organizaci této stránky

Vzhledem k velkému počtu dílů a demonstračních příkladů jsou na začátku každé kapitoly uvedeny lokální odkazy pro rychlý skok k popisu dílu nebo příkladu. Díly jsou označeny římskými číslicemi (I-XXXIII), demonstrační příklady číslicemi arabskými (0–81).

Obsah jednotlivých dílů

I

II

III IV V VI VII VIII

IX X XI XII XIII XIV

XV XVI XVII XVIII XIX XX

XXI XXII XXIII XXIV XXV XXVI

XXVII XXVIII XXIX XXX XXXI XXXII

I. Základní informace o OpenGL

Datum vydání: 01. 07. 2003
Odkaz: /clanek/1713
Obsah: Úvodní informace o grafické knihovně OpenGL, začlenění knihovny OpenGL do vykreslovacího řetězce, nadstavbové knihovny GLU a GLUT a jejich souvislost s OpenGL a návaznost na ni, pojem framebuffer. Vztah OpenGL k operačnímu systému, správci oken a ke grafickému uživatelskému rozhraní.

II. Syntaxe funkcí deklarovaných v OpenGL

Datum vydání: 08. 07. 2003
Odkaz: /clanek/1722
Obsah: Popis syntaxe většiny funkcí, které jsou knihovnou OpenGL poskytovány, specifikace počtu a typů parametrů funkcí ve jméně funkce, datové typy OpenGL a jejich souvislost s datovými typy běžných programovacích jazyků (C, C++), demonstrační příklad pro vykreslení jednoduchého obrazce.

III. Grafická primitiva knihovny OpenGL

Datum vydání: 15. 07. 2003
Odkaz: /clanek/1731
Obsah: Popis základních geometrických prvků (grafických primitiv), pomocí nichž se v OpenGL tvoří složitější tělesa i celé trojrozměrné scény – body, úsečky, polyčáry, trojúhelníky, čtyřúhelníky, pruhy trojúhelníků a čtyřúhelníků, trsy trojúhelníků a konvexní plošné polygony.

IV. Základní vlastnosti grafických primitiv

Datum vydání: 22. 07. 2003
Odkaz: /clanek/1740
Obsah: Popis základních vlastností geometrických prvků (grafických primitiv), způsob nastavování těchto vlastností pomocí vybraných funkcí OpenGL. Vlastnosti bodů, úseček a plošných polygonů. Velikost bodů, typy a tloušťky čar, barva polygonů. Lineární interpolace barvy (základ Gouraudova stínování) při vykreslování čar a polygonů.

V. Transformační matice a lineární transformace

Datum vydání: 29. 07. 2003
Odkaz: /clanek/1751
Obsah: Popis transformačních matic používaných v OpenGL a s nimi souvisejících lineárních transformací. Změna obsahu transformačních matic, nastavení kamery a transformace jednotlivých těles ve scéně. Načtení identity (jednotkové matice), funkce pro základní manipulaci s transformačními maticemi.

VI. Použití transformačních matic, skládání transformací a zásobník matic

Datum vydání: 05. 08. 2003
Odkaz: /clanek/1761
Obsah: Způsob využití transformačních matic při skládání transformací. Použití zásobníku matic při práci se složitými scénami, které jsou popsány hierarchickými vztahy mezi tělesy nebo částmi těles. Význam pořadí, ve kterém jsou transformace specifikovány, na výslednou transformaci.

VII. Vykreslování bitmap

Datum vydání: 12. 08. 2003
Odkaz: /clanek/1770
Obsah: Základy práce s bitmapami (tj. jednobarevnými rastrovými obrázky) v OpenGL, použití bitmap při vykreslování písma (řetězců), uživatelsky definovaných kurzorů myši a ikon v grafických aplikacích. Uložení bitmap v paměti počítače, barva bitmapy a její změna. Příkaz pro vykreslování bitmap. Význam aktuální vykreslovací pozice.

VIII. Bitmapy a display-listy, vykreslování znaků a řetězců

Datum vydání: 19. 08. 2003
Odkaz: /clanek/1780
Obsah: Způsob vykreslování znaků pomocí bitmap, bitmapové fonty. Využití display-listů pro zapouzdření a urychlení vykreslovacích operací. Použití display-listů společně s bitmapami při vykreslování znaků. Posun aktuální vykreslovací pozice po vykreslení bitmapy.

IX. Práce s pixmapami – vlastnosti, vykreslování

Datum vydání: 26. 08. 2003
Odkaz: /clanek/1791
Obsah: Vykreslování rastrových obrázků s vícebitovou barevnou hloubkou (v OpenGL nazývaných pixmapy). Souvislosti a rozdíly mezi bitmapami a pixmapami. Způsob uložení pixmap v paměti počítače. Podporované interní formáty pixelů, přístup k jednotlivým pixelům.

X. Práce s pixmapami – čtení a kopírování pixmap

Datum vydání: 02. 09. 2003
Odkaz: /clanek/1801
Obsah: Další operace, které se mohou provádět s pixmapami nebo je lze provést s využitím pixmap. Čtení pixmapy (rastrového obrázku) z framebufferu. Kopírování pixmap mezi jednotlivými částmi bufferu nebo mezi dvěma různými buffery ve framebufferu.

XI. Vykreslovací pipeline OpenGL

Datum vydání: 10. 09. 2003
Odkaz: /clanek/1812
Obsah: Podrobnější popis vykreslovacího řetězce OpenGL. Popis činnosti a vzájemných vztahů mezi jednotlivými bloky vykreslovacího řetězce. Cesta grafických dat od prvotního zadání dvourozměrného obrazce či trojrozměrné scény až po vykreslení na obrazovku.

XII. Framebuffer

Datum vydání: 16. 09. 2003
Odkaz: /clanek/1821
Obsah: Základní vlastnosti framebufferu, způsob využití jednotlivých bufferů, ze kterých se framebuffer může skládat. Vytvoření bufferů při inicializaci aplikace. Barvové buffery (color buffers), paměť hloubky (depth buffer), paměť šablony (stencil buffer) a akumulační buffer (accumulation buffer).

XIII. Zobrazení prostorové scény s ortogonální kamerou, double buffering

Datum vydání: 23. 09. 2003
Odkaz: /clanek/1833
Obsah: Popis způsobu zobrazení jednoduché trojrozměrné scény. Použití ortografické kamery, zejména při vykreslování technických scén bez perspektivní projekce. Zamezení rušivého problikávání při vykreslování scény pomocí double-bufferingu.

XIV. Zobrazení prostorové scény s perspektivní kamerou, paměť hloubky

Datum vydání: 30. 09. 2003
Odkaz: /clanek/1843
Obsah: Použití perspektivní kamery při zobrazování trojrozměrných scén s perspektivou. Způsob nastavení a využití paměti hloubky (depth bufferu, Z-bufferu). Rozdíl mezi funkcemi glFrustum() a gluPerspective(), parametry těchto funkcí.

XV. Přídavné ořezávací roviny

Datum vydání: 07. 10. 2003
Odkaz: /clanek/1854
Obsah: Způsob ořezání těles ve scéně ořezávacími rovinami (clipping planes). Použití šesti základních ořezávacích rovin. Přídavné ořezávací roviny.

XVI. Pole vrcholů

Datum vydání: 14. 10. 2003
Odkaz: /clanek/1864
Obsah: Redukce dat popisujících zobrazovanou scénu, zmenšení zátěže sběrnice při posílání dat z operační paměti počítače do grafického akcelerátoru. Použití polí vrcholů (vertex arrays).

XVII. Mlha

Datum vydání: 21. 10. 2003
Odkaz: /clanek/1874
Obsah: Vytvoření jednoduchého grafického efektu – mlhy. Nastavení parametrů mlhy, barvy mlhy, maximální hustoty mlhy, funkce hustoty mlhy v závislosti na vzdálenosti (hloubce) fragmentu od promítací roviny. Použití mlhy při optimalizaci vykreslování.

XVIII. Materiály, stínování 1

Datum vydání: 04. 11. 2003
Odkaz: /clanek/1894
Obsah: Vysvětlení základních pojmů, které se týkají osvětlení. Barevný model použitý v OpenGL, osvětlovací model OpenGL, materiály povrchu těles. Demonstrační příklad na osvětlení tělesa jedním zdrojem světla.

XIX. Materiály, stínování 2

Datum vydání: 11. 11. 2003
Odkaz: /clanek/1905
Obsah: Princip Phongova osvětlovacího modelu, který je v OpenGL použit. Způsob nastavení normálových vektorů (normál) k povrchu vykreslovaných těles, nastavovaných ve vrcholech plošek či pro celou plošku.

XX. Materiály, stínování 3

Datum vydání: 18. 11. 2003
Odkaz: /clanek/1915
Obsah: Nastavování světelných zdrojů podrobněji, bodový zdroj světla, směrový zdroj světla, reflektorové světlo. Záporné barvové koeficienty při zadávání parametrů světelných zdrojů a jejich význam.

XXI. Materiály, stínování 4

Datum vydání: 25. 11. 2003
Odkaz: /clanek/1928
Obsah: Podrobnější informace o nastavení reflektorového zdroje světla, změna pozice a orientace světelného zdroje pomocí transformační matice ModelView. Vztah mezi zadáním polohy a orientace světelného zdroje a prováděnými transformacemi.

XXII. Texturování 1 – úvod

Datum vydání: 02. 12. 2003
Odkaz: /clanek/1940
Obsah: Vysvětlení pojmu texturování, použití texturování při vykreslování trojrozměrných scén, výhody a nevýhody použití rastrových textur, podpora a omezení texturování v OpenGL.

XXIII. Texturování 2 – postup při texturování

Datum vydání: 09. 12. 2003
Odkaz: /clanek/1951
Obsah: Postup při texturování, vytvoření rastrové předlohy textury, vytvoření texturovacího objektu, nastavení způsobu nanášení textur na vykreslované povrchy, vykreslení scény se zadanými texturovacími souřadnicemi pro každý vrchol plošky.

XXIV. Texturování 3 – nastavování parametrů textur

Datum vydání: 16. 12. 2003
Odkaz: /clanek/1964
Obsah: Nastavování parametrů textur, filtrování textur při zvětšování a zmenšování rastrového obrázku, rozšířená podpora formátů textur, nové interní formáty texelů v texturách.

XXV. Texturování 4 – mipmapping

Datum vydání: 23. 12. 2003
Odkaz: /clanek/1974
Obsah: Rozšíření filtrace textur o mipmapping, použití mipmappingu, podpora mipmap v OpenGL, příklad použití mipmap při zobrazení trojrozměrných scén.

XXVI. Texturování 5 – formát BMP

Datum vydání: 30. 12. 2003
Odkaz: /clanek/1978
Obsah: Popis grafického formátu BMP, který lze použít pro uložení textury do externího souboru. Struktura BMP souboru, hlavička, informace o obraze, barevná paleta, obrazová data, formát true color, komprimace v BMP souborech.

XXVII. Texturování 6 – formát TGA

Datum vydání: 06. 01. 2004
Odkaz: /clanek/1986
Obsah: Popis grafického formátu TGA, použití TGA v počítačové grafice, interní struktura TGA souboru, hlavička, identifikační pole obrázku, barevná paleta, rastrová data, alfa kanál. Příklady hlaviček typických souborů TGA.

XXVIII. Texturování 7 – blending

Datum vydání: 13. 01. 2004
Odkaz: /clanek/1995
Obsah: Popis blendingu, tj. míchání barev v obrazu, míchací rovnice použitá při blendingu, význam míchacích faktorů, problémy, které mohou při blendingu nastat, antialiasing a blending.

XXIX. Texturování 8 – modulace textur

Datum vydání: 20. 01. 2004
Odkaz: /clanek/2004
Obsah: Modulace textur, nastavení režimu blendingu a modulace textur, specifikace módů výpočtu textur, nanášení texelů bez dalších úprav, blending na úrovni textur.

XXX. Texturování 9 – automatické generování text. souřadnic

Datum vydání: 27. 01. 2004
Odkaz: /clanek/2018
Obsah: Manuální nastavení texturovacích souřadnic, automatické generování texturovacích souřadnic, mapování prostředí (environment mapping).

XXXI. Vykreslovací řetězec a framebuffer

Datum vydání: 03. 02. 2004
Odkaz: /clanek/2022
Obsah:Nastavování a zjišťování konfigurace framebufferu, funkce glutInitDispla­yMode(), glXGetConfig(), glGetIntegerv(), glutGet(). Význam a použití bufferů ve framebufferu, barvové buffery, paměť šablony, paměť hloubky, akumulační buffer. Operace s fragmenty při vykreslování.

XXXII. Operace s fragmenty při vykreslování

Datum vydání: 10. 02. 2004
Odkaz: /clanek/2033
Obsah:Operace s fragmenty při vykreslování, scissor test, alpha test, stencil test, depth test, blending, dithering a maskování zápisu do jednotlivých bufferů. Vymazání hodnot všech fragmentů z jednotlivých bufferů. Výběr barvového bufferu pro čtení a/nebo pro zápis.

Našli jste v článku chybu?

16. 7. 2007 15:51

Hilk (neregistrovaný)
Nějak se nemůžu prokousat vrhaným stínem přes násobení matic a stencil buffer. V žádné z článků jsem nenašel rozřešení. Plánuje se do budoucna článek o této problematice?

20. 2. 2004 15:53

Pavel Tišnovský (neregistrovaný)

Dobre, zkusim neco sepsat, spolu s nahledem na OpenGL 1.5 a spol.

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

120na80.cz: Bojíte se encefalitidy?

Bojíte se encefalitidy?

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Podnikatel.cz: Prodává přes internet. Kdy platí zdravotko?

Prodává přes internet. Kdy platí zdravotko?

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu