Základní techniky zobrazování © 2005 Josef Pelikán, MFF UK Praha

Slides:



Advertisements
Podobné prezentace
Počítačová grafika Nám umožňuje:
Advertisements

BU51 Systémy CAD RNDr. Helena Novotná.
Počítačová grafika.
Stručný přehled OpenGL Jiří Danihelka. Co je OpenGL?  Open Graphics Library  Knihovna pro počítačovou grafiku  Zhruba 120 funkcí  Představuje standard.
Základy fotografování kompozice snímku
Vizualizace Perspektivní pohledy, materiály, světla, Render.
Počítačová grafika III Odraz světla, BRDF – Cvičení Jaroslav Křivánek, MFF UK
Geometrické znázornění kmitů Skládání rovnoběžných kmitů
Mechanika s Inventorem
Programová rozhraní pro grafické adaptéry
Grafika Rastrová X Vektorová.
Základy počítačové grafiky
Počítačová grafika Základní pojmy.
Obrázky poskytla firma Complex,
S BĚRNICE PRO GRAF. KARTY Funkce graf. karet Rendering.
Modelování v prostoru.
Jak na Prezentace? Power Point ZŠ Jiráskova Benešov
S VĚTELNÉ JEVY. S VĚTELNÉ ZDROJE Vidíme jen ty předměty, ze kterých přichází do našeho oka světlo. Světelné zdroje – světlo vyzařují (Slunce, žárovka)
Počítačová grafika 18. Marcel Svrčina.
Počítačová grafika.
Počítačová grafika.
Digitální fotografie. Digitál se představuje:  digitální zrcadlovka – nejblíže klasice  kompaktní fotoaparáty  EVF: zrcadlovky bez zrcadla  3 základní.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
3D CG. Základy geometrie Vertex A (x,z,y,(w)) Faceta(triangle) F(A,B,C) (polygon) F(A,B,C,D), konvexní, nekonvexní Objekt Většinou (0,1) rozměr.
Ovládání počítače laserovým ukazovátkem Tomáš PokornýZávěrečná maturitní práce.
Základy práce s programem
Počítačová grafika Výpočetní technika.
Vektorová grafika.
Středové promítání dané průmětnou r a bodem S (Sr) je zobrazení prostoru (bez S) na r takové, že obrazem bodu A je bod A‘=SAr. R – stopník přímky.
FYZIKA PRO IV. ROČNÍK GYMNÁZIA - OPTIKA
Způsoby uložení grafické informace
Adobe Flash CS5.5 – seznámení s programem Název školyGymnázium Zlín - Lesní čtvrť Číslo projektuCZ.1.07/1.5.00/ Název projektuRozvoj.
Informatika Základní formáty počítačové grafiky Obrázek: Žaneta Lažková 2012.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorMgr. Soňa Patočková Název šablonyIII/2.
Název školy: Gymnázium Zlín - Lesní čtvrť Číslo projektu: CZ.1.07/1.5.00/ Název projektu: Rozvoj žákovských kompetencí pro 21. století Název šablony:
Vektorová grafika. Vektorové entity Úsečka Kružnice, elipsa, kruhový oblouk,… Složitější křivky, splajny, Bézierovy křivky, … Plochy Tělesa Modely.
POČÍTAČOVÉ HRY CVIČENÍ 9. Shadery Z „Shading“ = „stínování“ Logika vykreslování Vertex data >> obraz Implementováno na GPU PHA cvičení 9 2.
Optické čočky kruhového průřezu Jan Konečný a Ondřej Mikuláš.
Zpracování grafické a zvukové informace Jan Přichystal.
3D modelář – základy práce se scénou a zobrazením VY_32_INOVACE_Design1r0114Mgr. Jiří Mlnařík.
Anti – Aliasing Ondřej Burkert atrey.karlin.mff.cuni.cz/~ondra/stranka.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorMgr. Soňa Patočková Název šablonyIII/2.
Pokročilé architektury počítačů (PAP_08.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Algoritmy pro počítačovou grafiku Mikšů Vojtěch, Gymnázium Dr. A. Hrdličky, Humpolec Dobeš Václav, Soukromé Gymnázium AD Fontes, Jihlava Větrovský Lukáš,
Zobrazování.
2D grafika Jak pracuje grafik s 2D daty Fotografie Statické záběry
Rastrová grafika (bitmapová) Obrázek poskládaný z pixelů Televize, monitory, fotoaparáty Kvalitu ovlivňuje barevná hloubka a rozlišení Barevná hloubka.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorMgr. Soňa Patočková Název šablonyIII/2.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorMgr. Soňa Patočková Název šablonyIII/2.
Počítačová grafika.
Způsoby uložení grafické informace
Pokročilé osvětlovací techniky © 2005 Josef Pelikán, MFF UK Praha
REPREZENTACE 3D SCÉNY JANA ŠTANCLOVÁ Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK.
ČVUT FEL Katedra počítačů Matematické a fyzikální výpočty na grafických kartách (DirectX 9 + DirectX 10) Bc. Jindřich Gottwald vedoucí: Ing. Ivan Šimeček,
3D MODELOVÁNÍ - teorie „HIGH TECHNOLOGY – další vzdělávání v 3D technologii“, registrační číslo projektu CZ.1.07/3.2.10/ Ing. Jiří Bukvald.
BU51 CAD systémy RNDr. Helena Novotná. Obsah přednášek  Co potřebujeme z teorie  Ovládání a přizpůsobení AutoCADu (profily, šablony, pracovní prostory,
Grafické systémy II. Ing. Tomáš Neumann Interní doktorand kat. 340 Vizualizace, tvorba animací.
Hardware pro počítačovou grafiku © Josef Pelikán, MFF UK Praha PGR019
Počítačová grafika III NPGR 010 © Josef Pelikán KSVI MFF UK Praha WWW:
Pokročilé techniky © Josef Pelikán, MFF UK Praha
Zobrazování. Modelování a zobrazování Realita (sutečnost) model Obraz(y) modelu modelování Zobrazování (vizualizace)
Moderní poznatky ve fyzice
Nástroj pro prezentace
Grafika – opakování Číslo projektu CZ.1.07/1.5.00/
Rastrová grafika Základní termíny – prezentace barev, barevné modely.
Počítačová grafika základní pojmy. Počítačová grafika základní pojmy.
Barevné modely Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN
Financováno z ESF a státního rozpočtu ČR.
Třírozměrné modelování
VY_32_INOVACE_09_ICT_538_Jnc
Transkript prezentace:

Základní techniky zobrazování © 2005 Josef Pelikán, MFF UK Praha

Obsah výpočet viditelnosti („depth-buffer“) obrazové buffery („frame buffers“) „double-buffering“, „triple-buffering“ jednoduché ořezávání („scissor test“) šablona („stencil buffer“) poloprůhlednost („alpha blending“) anti-aliasing, akumulační buffer výpočet osvětlení na GPU (fixed pipeline)

Výpočet viditelnosti používá se buffer hloubky („depth-buffer“) Z-buffer nebo W-buffer Z-buffer bitů, typicky 24 bitů na pixel pozor na neuniformní zobrazení hloubky do rozsahu hodnot z (záleží na poměru „far / near“) vzdálenější partie zorného pole mají hloubku méně přesnou! W-buffer nemá problém s nelinearitou hloubky

Obrazové buffery podle grafického režimu 8- až 32-bitové (C, RGB[A]) dnes nejčastěji „true-color“ bitů na pixel „double-buffering“ do jednoho bufferu se kreslí („front“), jiný se zobrazuje („back“) výměna bufferů: „flipping“ nebo „blitting“  flipping: rychlé přepnutí v HW (preferované)  blitting: bit-blt operace „triple-buffering“ další buffer („pending“) pro lepší balancování výkonu a plynulejší snímkovou frekvenci

Obrazové buffery, triple buffering zobrazuje se → left front left back left pending right front right back right pending hotový, čeká → kreslí se → VS ↕ async ↕

všechny buffery lze používat selektivně povolení / zákaz zápisu (i do jednotlivých bitových rovin) povolení depth-testu (též nastavení porovnávací operace) pro kreslení jsou k dispozici i další buffery – „rendering targets” OpenGL: GL_AUXi „pixel buffer“ (pbuffer) – kreslení přímo do texturové paměti (rychlejší než glCopyTexImage*())  rozšíření WGL_ARB_pbuffer Práce s buffery

závěrečná fáze „Upotřebení fragmentu“ („Per- Fragment Operations”), za fragmentovým procesorem pořadí fragmentových operací: 1. scissor test 2. alpha test 3. stencil test 4. depth test 5. blending 6. dithering 7. logická operace Fragmentové operace

„scissor test”: rychlý a jednoduchý test obdélníková oblast na obrazovce (HW implementace) „alpha test”: rychlý test porovnání α-složky daného fragmentu s referenční hodnotou mohu zadat porovnávací operaci ( GL_NEVER, GL_LEQUAL,...) Jednoduché testy

další buffer velikosti obrazovky typicky 1 až 8 bitů na pixel může omezovat kreslení do obrazového bufferu (ruší celé další zpracování fragmentu) uživatelské nastavení zápisu do stencil-bufferu uživatelské nastavení stencil-testu OpenGL: různé režimy zápisu pro tři možné stavy: 1.fragment neprošel stencil-testem 2.fragment prošel stencil-testem, ale ne depth-testem 3.fragment prošel oběma testy Šablona = „stencil buffer“

modifikace šablony (pro každý z předchozích režimů): GL_KEEP, GL_ZERO, GL_REPLACE, GL_INVERT GL_INCR, GL_INCR_WRAP, GL_DECR, GL_DECR_WRAP nastavení stencil testu: porovnávání se zadanou referenční hodnotou GL_NEVER, GL_ALWAYS, GL_LESS, GL_LEQUAL, … použití šablony: víceprůchodové algoritmy vrhání stínů, zobrazování CSG, odraz ve vodě, průhled skrz portál, výhled z kokpitu,... Operace s šablonou

kombinace několika pixelů s různým „stupněm pokrytí” – průhledností („transparency”) poloprůhledné objekty (např. i billboards, imposters) vyhlazování – „anti-aliasing” (okrajové pixely jsou pokryté jen částečně) buffer může držet neprůhlednost („opacity“) α nebo A („alpha“): velikost – jako ostatní složky (formát pixelu RGBA) s průhledností se může pracovat i při bufferu RGB: kreslení odzadu dopředu se zapnutým depth-bufferem Poloprůhlednost – „alpha blending“

skládání (kompozice) poloprůhledných pixelů: v praxi se používají jen binární operace (sériové zprac.) lineární kombinace složek RGB[A] koeficienty této kombinace lze zadávat podle potřeby např. v OpenGL lze zadat zvláštní koeficienty pro zdroj i cíl, pro barvu i α-kanál viz α-operace ( OVER, ATOP, HELD_OUT_BY,... ) přednáška PGR007 (Pokročilá 2D grafika) Poloprůhlednost - skládání

záleží na pořadí vykreslování! při neuspořádaném kreslení není možné správně spočítat výslednou barvu (ale průhlednost ano..) obyčejně se praktikuje kreslení odzadu dopředu univerzální postup pro kombinaci neprůhledných a poloprůhledných objektů ve 3D scéně: nepotřebuji obrazový buffer RGBA, stačí RGB: 1. nakreslím v libovolném pořadí neprůhledné objekty 2. vypnu zápis do depth-bufferu (zůstanou staré hodnoty) 3. kreslím poloprůhledné objekty odzadu dopředu, jako α-operaci nastavím „ OVER ” (viditelnost se testuje) Kombinace s průhlednými objekty

HW implementace anti-aliasingu základní primitiva (body, úsečky, trojúhelníky) mohou mít analytický výpočet měkkých okrajů někdy je pro anti-aliasing potřeba používat RGBA buffery uživatelský anti-aliasing: „multisampling” - kreslení několika obrázků přes sebe (s vzájemným malým – subpixelovým – posunutím) OpenGL: stavová proměnná GL_SAMPLE_BUFFERS okénko se schopností vícenásobného kreslení (přes akumulační buffer) někdy se musí zapnout korektní výpočet pokrytí poloprůhledných fragmentů v multisamplingu Anti-aliasing

musí být pro něj HW podpora (další buffer navíc) použití: anti-aliasing (přes „multisampling“ – viz výše) rozmazání pohybem („motion blur”) simulace hloubky ostrosti objektivu měkké vržené stíny technika: nastavení akumulačního bufferu vícenásobné kreslení scény (celé/části, podle potřeby) po každém kreslení: přenos do akumulač. bufferu (příp. nastavení multiplikativního a aditivního faktoru) Akumulační buffer

jednoduchý světelný model (Phong) „ambient” – okolní složka světla „diffuse” – difusní odraz (dokonale matné těleso, Lambertův, cosinový zářič) „specular” – lesklý odraz světla (Phong) ve vrcholech musí být zadány normálové vektory možnost počítat je automaticky na GPU? primární (difusní) a sekundární (lesklá) barvy a další materiálové konstanty zadání polohy a parametrů světelných zdrojů někdy jen omezený počet zdrojů světla (kvůli HW) Výpočet osvětlení na GPU

bodový zdroj všesměrový, v konečné vzdálenosti směrový zdroj rovnoběžné paprsky = v nekonečnu reflektor („spotlight”) směrové světlo v konečné vzdálenosti intenzita ubývá při odklonu od osy mezní úhel GL_SPOT_CUTOFF Světelné zdroje SPOT_CUTOFF L

všechny zdroje jsou zeslabovány podle vzdálenosti kvadratický polynom reflektor je navíc tlumen úhlem odklonu od osy: L … osa reflektoru V … směrový vektor od zdroje k objektu SE … GL_SPOT_EXPONENT Útlum zdroje

Celkový výpočet osvětlení primární barva (difusní světlo): sekundární barva (odlesk): nemusí být implementována aplikuje se až po texturování

Literatura Tomas Akenine-Möller, Eric Haines: Real-time rendering, 2 nd edition, A K Peters, 2002, ISBN: OpenGL ARB: OpenGL Programming Guide, 4 th edition, Addison-Wesley, 2004, ISBN: J. Žára, B. Beneš, J. Sochor, P. Felkel: Moderní počítačová grafika, 2. vydání, Computer Press, 2005, ISBN: