textúry - uniba.sk · 2019. 12. 3. · definície pojmov • textúrny priestor (texture...

48
Text Text úry úry

Upload: others

Post on 18-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

TextTextúryúry

Page 2: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

MotivMotivááciacia

• Bez textúr by nám vo filmoch behali len „polygonálne“ modely

• Bez textúr by boli počítačové hry len grafika s holými stenami

Page 3: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Definície pojmovDefinície pojmov• Textúrny priestor (texture space/domain)

• Mapovanie textúr textúrny priestor priestor objektu

• Multitextúry– použitie viacerých textúr naraz

• Hypertextúry– zmena optických vlastností nad povrchom

objektu

• Shader– vstup: (x,y,z), (u,v) súradnice objektu, textúry

– výstup: farba, …

Page 4: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Dimenzia textúrDimenzia textúr• Príklady dimenzie textúr

– textúra je diskrétny zoskenovaný/vytvorený obraz– dimenzia je určená podľa toho čo určuje

– podľa dimenzie priestoru v „doméne“:• 1D Parameter úsečky, výška, teplota, vzorkované čiary, ...• 2D Súradnice bodu plochy (u, v), klasická 2D textúra

• 3D Bod v priestore (x, y, z), simulácia vyrezania objektov

• 4D Animácia, hypertextúra

– podľa dimenzie priestoru v obraze:• 1D hodnota odrazu (kd), intenzita/jas

• 2D Intenzita a priesvitnosť• 3D Farba bodu (r, g, b), normála, vektor odrazu• 4D Farba a priesvitnosť bodu (r, g, b, α)

Page 5: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

TextúryTextúry• Zmena vlastností / charakteru povrchu objektu:

– farba objektu (texture map)– lesklosť objektu (diffuse + specular = light map)– normála / povrch objektu (bump map, relief

map = self-occlusion, self-shadowing, parallax)– priehľadnosť (alpha map)– tvar objektu (displacement map)

• Vplyv okolia na objekt:– tiene (shadow map)– odraz okolia (environment map, reflection map)

Page 6: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Premietanie textúrPremietanie textúr

• 2D textúra 3D objekt (najčastejšie používané, tzv. uv mapovanie)

• 3D textúra 3D objekt• Iné, 4D textúra

• Dopredné (forward) mapovanie• Spätné (inverse) mapovanie

Page 7: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Dopredné mapovanieDopredné mapovanie

• Bod z textúry (texel) (u,v) sa premietaním zobrazí na (x,y,z) na povrchu/polygóne 3D objektu

• Uniformované vzorkovanie textúry nezabezpečí uniformované vzorkovanie v priestore obrazu (screen space)

Page 8: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Spätné mapovanieSpätné mapovanie• Pre každý bod (x,y,z) na povrchu/polygóne

3D objekt sa pomocou inverzného zobrazenia nájde príslušný bod (u,v) textúry

● Pre každý polygón 3D objektu sú v jeho vrcholoch zapamätané texturové súradnice

Page 9: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Dvojfázová projekciaDvojfázová projekcia ((zobrazenzobrazenie)ie)• Projekcia = S mapovanie, O mapovanie

• Jednoduché projekcie:– Planárna– Kubická, spojitá kubická– Sférická– Cylindrická

(u,v) (xi,yi) (xo,yo,zo)S O

Texture space Intermediate space Object space

Page 10: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Typy projekcií - príkladTypy projekcií - príklad

Page 11: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Sférická projekcia –Sférická projekcia – pr prííkladkladx(,) = sin sin y(,) = cos z(,) = cos sin

0 /2/4 /2

u=0, v=0 =0, =/2u=1, v=0 =/2, =/2u=0, v=1 =0, =/4u=1, v=1 =/2, =/4

=arctan (yx

)

=arccos (z

√ x2+ y2+ y2)

u=

/2

v=2−

/4

Page 12: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Cylindrická projekciaCylindrická projekcia – –S mapovanieS mapovanie

s=θ−θ AθB−θ A

t=z−z AzB−z A

Page 13: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Cylindrická projekciaCylindrická projekcia – –O mapovanieO mapovanie

• Niekoľko spôsobov:

• najbežnejšie je kolmé premietanie

Page 14: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Farebné textúry – príklad 1Farebné textúry – príklad 1

Page 15: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Farebné textúry – príklad Farebné textúry – príklad 22

Page 16: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

HrboHrboľľataté textúry – príkladé textúry – príklad

Page 17: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Textúry lesklosti – príkladTextúry lesklosti – príklad

kovový lesk

Page 18: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Textúry priehľadnosti – príkladTextúry priehľadnosti – príklad

Page 19: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Reliefne textúryReliefne textúry – príklad – príklad

Page 20: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Displacement textúryDisplacement textúry – príklad – príklad

Page 21: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Kombinované textúry – príkladKombinované textúry – príklad

camouflage

Page 22: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

3D textúry – príklad3D textúry – príklad

solid cubes

Page 23: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Environment mappingEnvironment mapping

• Ako textúru vezmime okolité prostredie

• Ako získať takúto textúru?• Blinn & Newell: vzorkovanie cez polárne

súradnice (, )

Page 24: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Cubic environment mapping Cubic environment mapping • Gene 1986• Okolité prostredie sa zobrazuje na 6 stien

kocky• Najviac používaná v GPU

Page 25: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Sphere environment mappingSphere environment mapping

• Okolie je zobrazené na guľu

Page 26: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

ParaboloidParaboloid environment mapping environment mapping

u=12b

x1−z

+12

v=12b

y1−z

+12

u=12b

x1+z

+12

v=12b

y1+ z

+12

Zadná: Predná:

Page 27: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Bump MappingBump Mapping● Dodávajú objektom realistickejší vzhľad● Vytvárajú vizuálne nerovný povrch na

objektoch, ktoré sú často úplne hladké● Používa sa pripravená výšková mapa, ktorá je

aplikovaná na danú textúru

Page 28: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Bump mappingBump mapping

• Možnosti uloženia textúry:– 2 hodnoty bod určujúce posunutie (u, v)– výšková mapa– pole normálových vektorov

Page 29: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

MipMipmmappingapping

• MIP = Multum In Parvo (mnoho v malom)

• Predpovypočítanie zmenšených, filtrovaných kópií textúry a ich uloženie v pamäti

• Urýchlenie zobrazovania textúr

• Pyramída s (u,v,d) adresáciou

• Vyberieme bud’ kópiu, ktorá jenajbližšie, alebo interpolujememedzi dvoma najbližšímikópiami = trilineárne filtrrovanie

Page 30: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Filtrovanie textúrFiltrovanie textúr

● Odstraňuje „štvorčekový efekt“, ktorý vzniká pri aplikovaní malých textúr na veľký objekt

● Používa sa buď jednoduchý bilineárny či trilineárny filter, alebo anizotropické filtrovanie

Page 31: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Ako získať textúru?Ako získať textúru?

• Použiť predpripravené dáta (fotografia)

• Upraviť predpripravené dáta (filtrovanie)

• Vytvoriť textúru procedurálne

Page 32: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Procedurálne textProcedurálne textúryúry

Page 33: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Procedurálne textúryProcedurálne textúry

● Vyžaduje naprogramovať netriviálne algoritmy● Veľká flexibilita, ovplyvnenie výsledku pomocou

vstupných parametrov● Neohraničené rozlíšenie● Antialiasing pomocou nadvzorkovania● Nízke požiadavky na pamäť● Možné prispôsobiť na ľubovoľnú geometriu

objektu● Možnosť generovať viac 2D, 3D, 4D, ... textúry

Page 34: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Metódy tvorby Metódy tvorby procedurálnych textúrprocedurálnych textúr

● Každá rastrová (2D, 3D, 4D) procedurálna modelovacia technika

● Explicitné funkcie● Fraktály● Šumy, turbulencie● Reakčná difúzia● …

Page 35: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Tvorba textúry pomocou Tvorba textúry pomocou Voronoiových buniekVoronoiových buniek

1. Náhodne vygenerovať n bodov

2. Vizualizovať vzdialenosť k najbližšiemu susedovi

• Výsledok = Voronoiov šum

Page 36: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Modifikácie metódy najbližšieho Modifikácie metódy najbližšieho susedasuseda

Zovšeobecnenie: i-ty najbližší sused

tretí najbližší sused

Page 37: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Súčet vzdialenostíSúčet vzdialeností

1. najbližší plus 2. najbližší sused

Page 38: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Rozdiel vzdialenostíRozdiel vzdialeností

2. najbližší mínus 1. najbližší sused

Page 39: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Kombinácia najbližšieho a Kombinácia najbližšieho a najvzdialenejšiehonajvzdialenejšieho

3. najbližší plus 3. najvzdialenejší

Page 40: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

3D Textúry: Hypertextúry3D Textúry: Hypertextúry

● Perlin 19893D funkcia hustoty d(x) Î<0,1)

● Fuzzy objekty– oblaky– Srsť, vlasy, – plyn, oheň, dym

● Komplexné objekty– tkaniny– minerály

● Použitie šumu

Page 41: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

HypertextúryHypertextúry

Page 42: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Perlinová hypertextúraPerlinová hypertextúra

Page 43: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Fuzzy hypertextúryFuzzy hypertextúry

Page 44: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Hypertextúry dymuHypertextúry dymu

Page 45: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Hypertextúry ohňaHypertextúry ohňa

Page 46: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Hypertextúry srsti, vlasovHypertextúry srsti, vlasov

Page 47: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Hypertextúry tkaninyHypertextúry tkaniny

Page 48: Textúry - uniba.sk · 2019. 12. 3. · Definície pojmov • Textúrny priestor (texture space/domain) • Mapovanie textúr textúrny priestor priestor objektu • Multitextúry

Niektoré zdrojeNiektoré zdroje

• Knihy:– Tomas Akenine-Moeller, Eric Haines: Realtime

Rendering, 2nd edition, AK Peters 2002– D.S. Ebert et al: Texturing and Modeling, 1994, 1998

• Web:– www.opengl.org– www.gamedev.net– www.nvidia.com