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
Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

DigiZone.cz: Digi TV přidává HD. Má jich 19...

Digi TV přidává HD. Má jich 19...

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí karta

Do ostravské MHD bez jízdenky. Stačí karta

Vitalia.cz: Galerie: Strouhanka ze starých rohlíků? Kdepak

Galerie: Strouhanka ze starých rohlíků? Kdepak

Lupa.cz: Olympiáda zakázala GIFy. Moc to nepomáhá

Olympiáda zakázala GIFy. Moc to nepomáhá

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Lupa.cz: Hackujete? Můžete mít problém sehnat práci

Hackujete? Můžete mít problém sehnat práci

Lupa.cz: Měřičům síly hesla se nedá věřit. Víte proč?

Měřičům síly hesla se nedá věřit. Víte proč?

Měšec.cz: Co když na dovolené přijdete o kartu?

Co když na dovolené přijdete o kartu?

DigiZone.cz: ČTÚ červenec: rušení trochu vzrostlo

ČTÚ červenec: rušení trochu vzrostlo

Lupa.cz: Nechcete datacentrum? Jsou na prodej

Nechcete datacentrum? Jsou na prodej

DigiZone.cz: AXN u FreeSatu měsíc zdarma

AXN u FreeSatu měsíc zdarma

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

Měšec.cz: Ceny PHM v Evropě. Finty na úspory

Ceny PHM v Evropě. Finty na úspory

Lupa.cz: Kdo vykrádá LinkedIn? Zjistit to má soud

Kdo vykrádá LinkedIn? Zjistit to má soud

120na80.cz: Víte, co je svobodná menstruace?

Víte, co je svobodná menstruace?

Vitalia.cz: Musí moudrák opravdu ven?

Musí moudrák opravdu ven?

Podnikatel.cz: Pozor na vykuky, imitují služby České pošty

Pozor na vykuky, imitují služby České pošty

DigiZone.cz: Jetelín končí. Prima ho vyřadila

Jetelín končí. Prima ho vyřadila

Podnikatel.cz: Česká pošta vycouvala ze služby ČP Cloud

Česká pošta vycouvala ze služby ČP Cloud