Level of detail

Level of detail (LOD, česky úroveň detailů) je pojem, označující v počítačové grafice složitost reprezentace 3D modelu.

Základním stavebním kamenem povrchu modelů jsou trojúhelníky. Jejich rozmístění a počet určuje detail modelu. S větším počtem grafických primitiv (polygonů) je zobrazení povrchu objektu přesnější a lze zobrazit i velmi jemné detaily. Pokud je ale trojúhelníků příliš mnoho, hardwarová náročnost scény je příliš velká a grafický řetězec není schopen scénu zobrazovat v rozumném čase. Je tedy potřeba modely zjednodušit s ohledem na co nejmenší zmenšení vizuální kvality výsledné animace. Abychom zajistili maximální kvalitu a optimální efektivitu vykreslování, tak vzdálené detaily, které jsou velikostí srovnatelné s velikostí pixelu, se už nemusí vykreslovat. Naopak nejbližší předměty (na které se dívá uživatel) je třeba zobrazovat s co možná nejvyšší vizuální kvalitou.

Existují dva základní přístupy, jak pracovat s úrovní detailu modelu ve scéně. Jedná se o statický LOD (Level of Detail) a dynamický LOD.[1][2][3]

Diskrétní LOD

Pod pojmem diskrétní (statický) LOD rozumíme vytvoření více variant úrovní detailu pro daný model, které se vytvoří před samotným spuštěním procesu. Za běhu programu se provádí pouze volba varianty pro zobrazení podle vhodných kritérií (např. vzdálenost od pozorovatele). Výhodou diskrétního LOD je, že dochází ke generování LOD modelů před spouštěním a za běhu se pouze přepíná, což značně snižuje výpočetní náročnost. Nevýhodou diskrétního LODu je ta, že máme omezený počet variant modelů a proto je třeba někdy vybrat model vyšší kvality než je třeba a někdy naopak nižší. Další nevýhodou může být vyšší využití paměti. Největší nevýhodou je však „blikání“, které vzniká při přepínání mezi modely. Proto existují některé modifikace, které blikání alespoň částečně potlačují:[1][2]

  • míchání sousedních LODů (LOD blending) – dva sousední modely se kreslí pomocí míchání
  • inkrementální LOD – provádí se množství jednoduchých (elementárních) přechodů a přechod se pak jeví jako spojitý.
Příklad úrovní detailu
Obrázek
Počet trojúhelníků ~5500 ~2880 ~1580 ~670 ~140

Spojité LOD

Spojitý (dynamický) LOD se zásadně liší od diskrétního v tom, že se vytváří model za běhu programu a ne před spuštěním. V přípravné fázi je vypočítána reprezentace objektu a uložena do datové struktury. Poté se v každém novém snímku běžícího procesu vytvoří model s vhodnou úrovní detailu dle dané datové struktury. Jelikož dochází k výpočtům za běhu programu, jsou výpočetní nároky na zpracování vyšší. Výhoda tohoto přístupu je v tom, že úroveň detailu je přesně taková, jaká je pro danou scénu potřeba. To má za následek lepší využití prostředků a tudíž i lepší přesnosti a kvalitě pro daný počet polygonů. Další výhody jsou, že dochází k plynulému přechodu mezi dvěma úrovněmi a také menší paměťové nároky oproti diskrétnímu LODu. Typickým příkladem jsou Progressive meshes a vylepšená varianta view-dependent PM.[1][2]

Výběr úrovně detailu objektu v daném zobrazení

Pro daný objekt je nutné vybrat vhodnou úroveň detailu. Obvyklá kritéria jsou:

  • vzdálenost od kamery
  • plocha průmětu objektu na obrazovce
  • plocha průmětu obalového tělesa objektu na obrazovce
  • objekt, na který je upřená pozornost uživatele a jeho důležitost

Redukce počtu trojúhelníků

Abychom byli schopni dosáhnout různých úrovní detailu, je třeba znát techniky, které zajistí redukci počtu trojúhelníků. Při těchto metodách je nutné brát ohled na výslednou vizuální kvalitu. Zjednodušení objektu probíhá pomocí jednotlivých lokálních zjednodušení. Nejčastěji používané přístupy jsou:[1]

  • Eliminace vrcholů
  • Eliminace hran
  • Eliminace Re-Tiling
  • Kolaps buněk

Generování LOD

Zdola nahoru

Tato technika vede ke zjednodušení původního modelu. Při postupu zjednodušování opakovaně přidávám (ale mohu i odebírat) různé entity – vrcholy, hrany, skupiny vrcholů či plochy. Odebírání se provádí z původního modelu a tato činnost se nazývá decimace. [3][2]

Shora dolů

V tomto případě postupujeme opačně než při generování zdola nahoru. To znamená, že začínáme s minimální reprezentací modelu a postupně přidáváme vrcholy až dosáhneme požadovaného výsledku. Postupujeme tedy shora-dolů. Výhodou je, že zpracováváme pouze ty entity, které vyprodukujeme. Nevýhodou může být, že máme méně informací při sestupu a z toho plyne i horší kvalita výstupu. [3][2]

Optimalizace při generování

Při této činnosti jde o to najít co „nejhezčí“ reprezentaci při daném počtu polygonů. Mezi nejznámější metody, které vyhodnocují chybovou metriku, patří například hladové přístupy, při kterých se uvažují všechny možnosti, jak provést zjednodušovací krok. Z toho plyne, že se provádí hodně výpočtů. Další metodou je líné vyhodnocování. Jedná se o hladový přístup s redukovaným počítáním. Výsledky mohou být o něco méně kvalitní, ale rychlejší. Metoda odhad metriky (estimation) zase počítá místo přesné hodnoty pouze rychlý odhad chyby, což je přibližná hodnota. Další možností, jak optimalizovat generování, je vybrat sadu elementárních operací, které spolu nesouvisí a tudíž je možné je provést současně. Příkladem operace, při které se neprovádí žádná optimalizace, je kolaps buněk.[3][2]

Chybové metriky

Chybové metriky jsou důležitou součástí problému a využívají se k měření kvality. Způsob měření chyby při vytváření modelu má velký vliv na výslednou použitelnost a vizuální kvalitu. Pro měření kvality se používají kromě geometrických chyb i chyby atributové, což může být např. barva, normála čí mapovací koordináty.[1]

Mezi nejčastější přístupy patří:

  • vzdálenost vrchol-vrchol
  • vzdálenost vrchol-rovina
  • vzdálenost vrchol-povrch
  • vzdálenost povrch-povrch

Odkazy

Reference

  1. a b c d e Ondrej Klučka: Automatické vytváření úrovní detailu, bakalářská práce, Praha, FE ČVUT v Praze, 2007
  2. a b c d e f Roman Margold: Zpracování terénu na moderních GPU, diplomová práce, Praha, MFF UK v Praze, 2007
  3. a b c d cgg.mff.cuni.cz/~pepca/lectures/pdf/trimesh.pdf

Literatura

  • D. Luebke, M. Reddy, J. D. Cohen, A. Varshney, B. Watson, R. Huebner: Level of Detail for 3D Graphics, Morgan Kaufmann, 2002, ISBN 0321194969

Související články

Externí odkazy


Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Level_of_detail
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.