Seriál Grafická knihovna OpenGL

V této sérii článků popisujeme programovou grafickou knihovnu OpenGL, která dnes na většině platforem představuje standard pro tvorbu 2D a zejména 3D grafických aplikací.

Grafická knihovna OpenGL (34): seznam příkladů

V závěrečné části seriálu o grafické knihovně OpenGL naleznete seznam všech demonstračních příkladů použitých v seriálu. Ke konci článku budou také uvedeny seznamy funkcí OpenGL s odkazy na díly, ve kterých jsou tyto funkce popsány.

Pavel Tišnovský

24. 2. 2004 0:00 | OpenGL

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

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.

Pavel Tišnovský

17. 2. 2004 0:00 | OpenGL

Grafická knihovna OpenGL (32): operace s fragmenty

V předposlední části seriálu věnovaného grafické knihovně OpenGL si podrobněji popíšeme operace, které se provádějí s fragmenty před jejich uložením do framebufferu.

Pavel Tišnovský

10. 2. 2004 0:00 | OpenGL
| 4

Grafická knihovna OpenGL (31): význam jednotlivých bufferů

V dnešním dílu seriálu o grafické knihovně OpenGL si popíšeme význam jednotlivých bufferů (které se mohou nacházet ve framebufferu) a způsob zjišťování aktuální konfigurace framebufferu. Dále si popíšeme pořadí operací a testů, které se s právě vykreslovaným fragmentem provádí před vlastním zápisem do framebufferu.

Pavel Tišnovský

3. 2. 2004 0:00 | OpenGL
| 2

Grafická knihovna OpenGL (30): automatické generování texturovacích souřadnic

V tomto pokračování seriálu o grafické knihovně OpenGL si popíšeme možnosti automatického generování texturovacích souřadnic. Tuto techniku lze využít zejména ve dvou případech: zobrazování kontur složitých ploch (při práci s prostorovými tělesy v CAD systémech) a mapování okolního prostředí na zobrazované těleso (tzv. environment mapping).

Pavel Tišnovský

27. 1. 2004 0:00 | OpenGL
| 4

Grafická knihovna OpenGL (29): modulace textur

V dnešním pokračování seriálu o grafické knihovně OpenGL se budeme zabývat modulací textur, pomocí níž je možné kombinovat barvu vypočtenou osvětlovacím modelem s nanášenou texturou. Modulaci je však možné použít i pro různé další zajímavé grafické efekty, například změnu barvy textury.

Pavel Tišnovský

20. 1. 2004 0:00 | OpenGL
| 6

Grafická knihovna OpenGL (28): blending

V tomto dílu seriálu o grafické knihovně OpenGL se budeme věnovat jedné z metod, která je často použita pro změnu barvy nebo nanášené textury vykreslovaných těles. Jedná se o blending, tj. prolínání (míchání) barev vykreslovaného tělesa s pozadím na základě předem zadané míchací funkce.

Pavel Tišnovský

13. 1. 2004 0:00 | OpenGL
| 4

Grafická knihovna OpenGL (27): TGA

Tento díl seriálu o grafické knihovně OpenGL je zaměřen na popis formátu rastrového souboru typu TGA, který může být použit pro načítání a ukládání textur do externích souborů. Výhodou TGA formátu při práci s texturami je jeho jednoduchost a možnost uložení obrázků v pravých barvách (true color) i s alfa kanálem (tj. průhledností).

Pavel Tišnovský

6. 1. 2004 0:00 | OpenGL
| 9

Grafická knihovna OpenGL (26): formáty rastrových souborů

V tomto dílu seriálu o grafické knihovně OpenGL si popíšeme některé formáty rastrových souborů, které lze použít pro ukládání a zpětné načítání textur. Vzhledem k omezenému rozsahu jednotlivých dílů si podrobně popíšeme pouze jednodušší formáty, jejichž implementace v programech je bezproblémová a nevyžaduje ke své činnosti žádné další podpůrné knihovny.

Pavel Tišnovský

30. 12. 2003 0:00 | OpenGL
| 1

Grafická knihovna OpenGL (25): mipmapping

Dnešní díl seriálu o grafické knihovně OpenGL je věnovaný technice mipmappingu, která je často používaná pro zamezení vzniku vizuálních chyb vznikajících v dynamicky se měnících scénách a animacích.

Pavel Tišnovský

23. 12. 2003 0:00 | OpenGL

Grafická knihovna OpenGL (24): vlastnosti textur

V dnešním pokračování seriálu o grafické knihovně OpenGL si popíšeme způsob, jakým lze nastavit vlastnosti textur. Dále si popíšeme podporu rozšířených formátů textur, která je však dostupná pouze v některých verzích této knihovny.

Pavel Tišnovský

16. 12. 2003 0:00 | OpenGL
| 9

Grafická knihovna OpenGL (23): korektní otexturování

Dnes navážeme na předchozí díl, ve kterém jsme si popsali základní vlastnosti texturování. Ukážeme si postup, který je při použití OpenGL zapotřebí dodržet, aby byly plochy těles korektně otexturované. Vše si samozřejmě procvičíme na přiložených příkladech.

Pavel Tišnovský

9. 12. 2003 0:00 | OpenGL
| 2

Grafická knihovna OpenGL (22): texturování

Tímto dílem seriálu o grafické knihovně OpenGL se začínáme věnovat poměrně rozsáhlé a přitom důležité a zajímavé oblasti polygonální trojrozměrné grafiky. Řeč je o texturování, což je, zjednodušeně řečeno, metoda pro vykreslování trojrozměrných těles, která mají na svém povrchu naneseny rastrové obrazce. Při použití texturování je možné vytvářet a zobrazovat vizuálně složité scény bez větších nároků na výpočetní výkon grafického subsystému.

Pavel Tišnovský

2. 12. 2003 0:00 | OpenGL

Grafická knihovna OpenGL (21): nastavení světelných zdrojů

Tímto dílem seriálu o grafické knihovně OpenGL ukončíme část věnovanou nastavení světelných zdrojů a materiálů zobrazovaných těles. Dnes si povíme detailní informace o nastavení reflektorového zdroje světla a změny pozice a orientace světelného zdroje pomocí transformační matice ModelView. V ilustračních příkladech si ukážeme použití reflektorového světla i použití transformačních matic při změně pozice světelných zdrojů.

Pavel Tišnovský

25. 11. 2003 0:00 | OpenGL

Grafická knihovna OpenGL (20): bodové světlo, směrové světlo a reflektor

Dnešní pokračování seriálu o grafické knihovně OpenGL došlo již ke svému jubilejnímu dvacátému pokračování. Místo nudných oslavných řečí si však povíme podrobnější informace o nastavení světelných zdrojů, které mohou být třech typů: bodové světlo, směrové světlo a reflektor.

Pavel Tišnovský

18. 11. 2003 0:00 | OpenGL
| 2

Grafická knihovna OpenGL (19): Phongův osvětlovací model

V tomto dílu seriálu o grafické knihovně OpenGL si podrobněji popíšeme princip Phongova osvětlovacího modelu, který se v ní používá pro výpočet barvy na povrchu těles. Také si popíšeme způsoby definování normál (normálových vektorů) k povrchu těles, protože při použití Phongova osvětlovacího modelu je zapotřebí nějakým způsobem určit normálu ke každému bodu na povrchu tělesa.

Pavel Tišnovský

11. 11. 2003 0:00 | OpenGL
| 7

Grafická knihovna OpenGL (18): vykreslování osvětlených těles

Tímto dílem seriálu o grafické knihovně OpenGL začínáme poměrně rozsáhlou část věnovanou nastavování a vykreslování osvětlených těles. Knihovna OpenGL totiž podporuje vykreslování plošek, které jsou vytvořeny z různých materiálů a mohou být osvětleny z několika světelných zdrojů různých typů. V dnešním dílu si popíšeme základní pojmy týkající se osvětlení a na příkladech si ukážeme, jakým způsobem lze jednoduše osvětlit těleso jedním zdrojem světla.

Pavel Tišnovský

4. 11. 2003 0:00 | OpenGL

Grafická knihovna OpenGL (17): přidání "mlhy"

V dnešní části seriálu o grafické knihovně OpenGL se budeme zabývat jednoduchou technikou pro přidání "mlhy" do vykreslované scény. Tato technika je často používána v různých aplikacích, protože je na první pohled efektní a současně umožňuje urychlit vykreslování celé scény.

Pavel Tišnovský

21. 10. 2003 0:00 | OpenGL
| 4

Grafická knihovna OpenGL (16): pole vrcholů (vertex arrays)

V dnešním dílu seriálu věnovaného programování počítačové grafiky s knihovnou OpenGL si popíšeme použití takzvaných polí vrcholů (vertex arrays), pomocí kterých je možné značně zredukovat množství dat, která se při vykreslování prostorové scény musí posílat přes sběrnici počítače do grafického akcelerátoru.

Pavel Tišnovský

14. 10. 2003 0:00 | OpenGL
| 8

Grafická knihovna OpenGL (15): ořezání těles ve scéně

Dnes si povíme o možnosti ořezání těles ve scéně dalšími ořezávacími rovinami, které můžeme použít navíc k šesti základním ořezávacím rovinám. Techniku ořezávání lze použít například při kresbě technických zařízení, když potřebujeme zobrazit i jejich vnitřní strukturu.

Pavel Tišnovský

7. 10. 2003 0:00 | OpenGL

Grafická knihovna OpenGL (14): nastavení perspektivní kamery

Dnešní díl seriálu o grafické knihovně OpenGL naváže na díl předchozí, ve kterém jsme popisovali nastavení ortografické kamery a použití double-bufferingu. Dnes si popíšeme způsob nastavení perspektivní kamery. Dále si řekneme, jakým způsobem lze povolit, nastavit a používat paměť hloubky (depth buffer, Z-buffer).

Pavel Tišnovský

30. 9. 2003 0:00 | OpenGL
| 5

Grafická knihovna OpenGL (13): double-buffering

V tomto dílu seriálu o grafické knihovně OpenGL si ukážeme, jakým způsobem lze zobrazit jednoduchou prostorovou scénu a jak lze změnit pohled na tuto scénu. Také si ukážeme použití takzvaného double-bufferingu, pomocí kterého lze zaručit, že se uživateli celá scéna zobrazí až po vykreslení všech těles bez rušivého problikávání.

Pavel Tišnovský

23. 9. 2003 0:00 | OpenGL

Grafická knihovna OpenGL (12): vlastnosti framebufferu

V dnešním dílu si popíšeme vlastnosti framebufferu a způsob využití jednotlivých dílčích bufferů, ze kterých se framebuffer skládá.

Pavel Tišnovský

16. 9. 2003 0:00 | OpenGL
| 2

Grafická knihovna OpenGL (11): vykreslovací řetězec

V dnešním dílu si popíšeme vykreslovací řetězec OpenGL, tj. cestu dat od prvotního zadání 2D obrazce či 3D scény v aplikaci až po vykreslení na obrazovku. Pochopení činnosti jednotlivých bloků vykreslovacího řetězce je důležité zejména při programování pokročilých grafických efektů.

Pavel Tišnovský

10. 9. 2003 0:00 | OpenGL
| 6

Grafická knihovna OpenGL (10): operace s bitmapami a pixmapami

V dnešním dílu seriálu o grafické knihovně OpenGL dokončíme část věnovanou operacím s rastrovými obrazy - bitmapami a pixmapami. Povíme si o dvou operacích, které lze kromě vykreslování posaného v předešlém dílu provádět s pixmapami. Tyto dvě operace umožňují provádět čtení pixmapy z framebufferu a kopírování pixmapy mezi jednotlivými částmi framebufferu.

Pavel Tišnovský

2. 9. 2003 0:00 | OpenGL
| 3

Grafická knihovna OpenGL (9): pixmapy

Tento díl naváže na dva předcházející díly, protože se budeme nadále zabývat vykreslováním rastrových obrázků. Dnes se však zaměříme na takzvané pixmapy, ve kterých můžeme (narozdíl od bitmap) používat vícebitové barevné hloubky, a tím pádem zobrazovat rastrové obrázky až v kvalitě true-color.

Pavel Tišnovský

26. 8. 2003 0:00 | OpenGL

Grafická knihovna OpenGL (8): display-listy

V dnešním dílu seriálu o grafické knihovně OpenGL si popíšeme způsob vykreslování znaků za pomoci bitmap, tj. jednobarevných rastrových obrázků. Dále si řekneme, k čemu jsou vhodné display-listy a jak se dají použít pro urychlení vykreslovacích operací. Jako příklad na demonstraci použití display listů vytvoříme funkci pro vykreslování znaků za pomoci bitmap.

Pavel Tišnovský

19. 8. 2003 0:00 | OpenGL
| 4

Grafická knihovna OpenGL (7): jednobarevné rastrové obrázky

V dnešní části seriálu o OpenGL si ukážeme práci s bitmapami, což v "nářečí" dokumentace k OpenGL značí jednobarevné rastrové obrázky. Bitmapy se často využívají při vykreslování písma, vlastních kurzorů myši nebo různých jednoduchých ikon v interaktivních grafických aplikacích.

Pavel Tišnovský

12. 8. 2003 0:00 | OpenGL
| 3

Grafická knihovna OpenGL (6): využití transformačních matic

V dnešním dílu si ukážeme využití transformačních matic při skládání transformací. Také si popíšeme zásobník matic, který se využívá zejména při vykreslování složitých, hierarchicky uspořádaných trojrozměrných scén.

Pavel Tišnovský

5. 8. 2003 0:00 | OpenGL
| 5

Grafická knihovna OpenGL (5): transformační matice a lineární transformace

V tomto díle si popíšeme důležitou součást knihovny OpenGL - transformační matice a s nimi související lineární transformace. Změnou obsahu transformačních matic lze v OpenGL provádět několik operací: nastavení viditelné části scény na obrazovce, nastavení kamery a transformace jednotlivých těles ve scéně.

Pavel Tišnovský

29. 7. 2003 0:00 | OpenGL
Vitalia.cz: Muž, který miluje příliš. Ženám neimponuje

Muž, který miluje příliš. Ženám neimponuje

Podnikatel.cz: „Lex Babiš“ Babišovi paradoxně pomůže

„Lex Babiš“ Babišovi paradoxně pomůže

Lupa.cz: Kde leží hardwarový pupek světa?

Kde leží hardwarový pupek světa?

Podnikatel.cz: Instalatér, malíř a elektrikář. "Vymřou"?

Instalatér, malíř a elektrikář. "Vymřou"?

Podnikatel.cz: ČSSZ posílá přehled o důchodovém kontě

ČSSZ posílá přehled o důchodovém kontě

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Vitalia.cz: Tradiční čínská medicína a rakovina

Tradiční čínská medicína a rakovina

DigiZone.cz: Ginx TV: pořad o počítačových hráčích

Ginx TV: pořad o počítačových hráčích

Podnikatel.cz: Udělali jsme velkou chybu, napsal Čupr

Udělali jsme velkou chybu, napsal Čupr

Podnikatel.cz: Tyto pojmy k #EET byste měli znát

Tyto pojmy k #EET byste měli znát

DigiZone.cz: Technisat připravuje trojici DAB

Technisat připravuje trojici DAB

DigiZone.cz: Digi Slovakia zařazuje stanice SPI

Digi Slovakia zařazuje stanice SPI

DigiZone.cz: Parlamentní listy: kde končí PR...

Parlamentní listy: kde končí PR...

Lupa.cz: Cimrman má hry na YouTube i vlastní doodle

Cimrman má hry na YouTube i vlastní doodle

120na80.cz: Galerie: Čínští policisté testují českou minerálku

Galerie: Čínští policisté testují českou minerálku

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

120na80.cz: Co je padesátkrát sladší než cukr?

Co je padesátkrát sladší než cukr?