The wiki page is under active construction, expect bugs.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
statnice:bakalar:be4b39vgo [2025/05/27 22:36] zapleka3statnice:bakalar:be4b39vgo [2025/06/05 18:36] (current) zapleka3
Line 1: Line 1:
-==== Vnímání barev a barevné modely. Rastrová grafika, základní rastrové formáty souborů. Vektorová grafika, reprezentace 2D a 3D objektů, základní formáty souborů pro 2D a 3D data. Principy 3D modelování a mapování textur. ====+====== Vnímání barev a barevné modely. Rastrová grafika, základní rastrové formáty souborů. Vektorová grafika, reprezentace 2D a 3D objektů, základní formáty souborů pro 2D a 3D data. Principy 3D modelování a mapování textur. ======
  
 [[https://intranet.fel.cvut.cz/cz/education/bk/predmety/46/98/p4698806.html|B4B39VGO]] [[https://moodle.fel.cvut.cz/local/kos/pages/course/info.php?code=BE4B39VGO&semester=|Webové stránky předmětu]] [[https://intranet.fel.cvut.cz/cz/education/bk/predmety/46/98/p4698806.html|B4B39VGO]] [[https://moodle.fel.cvut.cz/local/kos/pages/course/info.php?code=BE4B39VGO&semester=|Webové stránky předmětu]]
Line 61: Line 61:
 === CIE XYZ === === CIE XYZ ===
  
-  * Transformace z CIE RGB za účelem odstranění záporných hodnot.+  * Převádí prostor CIE RGB do podoby bez záporných hodnot složek, což je vhodnější pro fyzickou reprezentaci a práci s barvami v praxi (např. kalibrace displejů).
   * **Vlastnosti:**   * **Vlastnosti:**
     * Všechny srovnávací funkce jsou **kladné**.     * Všechny srovnávací funkce jsou **kladné**.
Line 70: Line 70:
 === CIE xyY === === CIE xyY ===
  
-  * Normalizovaná verze XYZ – pro eliminaci vlivu jasu.+  * Normalizovaná verze XYZ, která umožňuje snadnější porovnání barev bez ohledu na jejich jasovou složku.
   * Definováno takto:   * Definováno takto:
     \[     \[
Line 79: Line 79:
     x + y + z = 1     x + y + z = 1
     \]     \]
-  * Pro daný jas \( \) lze z \x \\( \) zrekonstruovat celou barvu. +  * Z hodnot \( x, y \) (chromatičnostilze při známém jasu \( \) zpětně rekonstruovat kompletní barvu. 
-  * Umožňuje znázornění barev v 2D diagramu – **chromatickém diagramu**.+  * Barvy lze znázornit ve 2D pomocí **chromatického diagramu**, který je užitečný při srovnávání barevných gamutů (rozsahu barev) různých zařízení.
  
 ==== 4. Chromatický diagram (CIE 1931) ==== ==== 4. Chromatický diagram (CIE 1931) ====
Line 662: Line 662:
 ===== 6. Principy mapování textur ===== ===== 6. Principy mapování textur =====
  
-Mapování textur je proces přiřazení souřadnic textury jednotlivým bodům na povrchu 3D objektu, aby mohla být textura správně zobrazena. Nejčastější metodou je UV mapování, které převádí 3D povrch na 2D rovinu.+Mapování textur je proces přiřazení souřadnic textury jednotlivým bodům na povrchu 3D objektu, aby mohla být textura správně zobrazena. Nejčastější metodou je UV mapování, které převádí 3D povrch na 2D rovinu a umožňuje efektivní zobrazení detailů bez nutnosti složité geometrie.
  
 ==== 1. Textury a mapování ==== ==== 1. Textury a mapování ====
Line 668: Line 668:
   * **Textura** – funkce reprezentující vlastnosti povrchu objektu: barvu, lesklost, výšku, strukturu.   * **Textura** – funkce reprezentující vlastnosti povrchu objektu: barvu, lesklost, výšku, strukturu.
     - Typy: barva (diffuse), specular, roughness, normal, displacement.     - Typy: barva (diffuse), specular, roughness, normal, displacement.
 +    - Textura je většinou diskétní funkce definovaná na povrchu objektu.
 +    - Nejčastěji se používají 2D textury, vzácněji 1D nebo 3D textury.
 +
   * **Mapování** – každému vrcholu objektu přiřadíme UV souřadnice (U, V) v rozsahu <0,1>.   * **Mapování** – každému vrcholu objektu přiřadíme UV souřadnice (U, V) v rozsahu <0,1>.
 +    - UV souřadnice definují, která část textury se zobrazí na daném místě objektu.
     * {{:statnice:bakalar:pasted:20250527-223348.png?300}}     * {{:statnice:bakalar:pasted:20250527-223348.png?300}}
-  * **Interpolace** – souřadnice bodů mezi vrcholy se dopočítají lineárně.+ 
 +  * **Interpolace** – pro body mezi vrcholy se UV souřadnice počítají lineárně a pak se z nich získá barva textury. 
   * **Chování mimo rozsah UV**:   * **Chování mimo rozsah UV**:
-    - *Repeat*: souřadnice se periodicky opakují (modulo), +    - *Repeat*: souřadnice se periodicky opakují (modulo 1), 
-    - *Extend*: souřadnice se oříznou na hodnoty nebo 1,+    - *Extend*: souřadnice se omezí na <0,1>,
     - *Clip*: použije se výchozí barva (např. černá).     - *Clip*: použije se výchozí barva (např. černá).
     - {{:statnice:bakalar:pasted:20250527-223428.png?400}}     - {{:statnice:bakalar:pasted:20250527-223428.png?400}}
-  * **Mip-mapy** – předpočítané úrovně detailu textury pro efektivní zobrazení z různých vzdáleností. + 
-    * {{:statnice:bakalar:pasted:20250527-223554.png?300}}+  * **Mip-mapy** – sekvence textur, kde každá má poloviční rozlišení než edchozí. 
 +    - Používá se pro lepší vykreslování detailů z různých vzdáleností
 +    - Pomáhá potlačit aliasing díky odstranění vysokofrekvenčních detailů
 +    * {{:statnice:bakalar:pasted:20250527-223554.png?250}}
  
 ==== 2. UV mapování ==== ==== 2. UV mapování ====
  
-  * **UV mapování** – proces přiřazení 2D souřadnic (U, V) jednotlivým bodům modelu.+  * **UV mapování** – proces přiřazení 2D souřadnic (U, V) jednotlivým bodům modelu, které umožní přiřadit texturu ke 3D geometrii.
   * **UV unwrapping** – převod 3D modelu na 2D mapu.   * **UV unwrapping** – převod 3D modelu na 2D mapu.
-    Cílem je minimalizace zkreslení a efektivní rozložení ploch.+    Cílem je minimalizace zkreslení a efektivní rozložení ploch
 +    * Každý vrchol může mít v různých plochách různé UV souřadnice.
  
 ==== 3. Způsoby unwrappingu ==== ==== 3. Způsoby unwrappingu ====
  
-  * **Ruční švy (seams)** – uživatel ručně definuje hrany, podél kterých se objekt rozbalí“. Vhodné pro jednodušší a organické tvary+  * **Ruční švy (seams)** – uživatel definuje hrany, kde se model rozstřihne“ pro vytvoření UV mapy. 
-  * **Limitní úhel** – automatické rozdělení podle úhlu mezi normálami sousedních polygonů+    * Výhodné pro organické a ručně modelované objekty. 
-    Nižší limit znamená více oddělených oblastí+    * Cílem je zachování tvaru a poměru stran mezi 3D a 2D pro minimální deformaci. 
-  * **Lightmap packing** – efektivní využití prostoru pomocí čtvercové mřížky. +    * {{:statnice:bakalar:pasted:20250527-224516.png?200}} 
-    - Nezachovává tvar ani sousednost polygonů. + 
-    - Vhodné pro výpočet světla (lightmaps) nebo ambient occlusion. +  * **Limitní úhel (Smart UV Project)** – automatické dělení podle úhlu mezi normálami sousedních ploch
-  **Projekce z pohledu (camera projection)** – používá se aktuální kamera nebo pohled pro rozvinutí povrchu+    Nižší limit znamená více částí a detailnější UV mapu. 
-    - Efektivní pro ploché objekty jako nápisy nebo stěny.+    * Každá nová plocha je přidána jen pokud úhel normál je pod daným limitem. 
 +    * {{:statnice:bakalar:pasted:20250527-224534.png?300}} 
 + 
 +  * **Lightmap packing** – vytvoření mřížky v UV prostoru bez zachování tvaru a sousednosti
 +    * Používá se pro přepočítané osvětlení nebo ambient occlusion. 
 +    Efektivní využití prostoru v textuře, často pro více objektů najednou
 +    * {{:statnice:bakalar:pasted:20250527-224548.png?200}}
  
 ==== 4. Primitivní projekce ==== ==== 4. Primitivní projekce ====
  
-  * **Box mapping** – šest samostatných projekcí podle normály; vhodné pro hranaté objekty. +  * **Projekce z pohledu (camera projection)** – použije aktuální pohled kamery pro projekci. 
-  * **Spherical mapping** – projekce s využitím sférických souřadnic (rφθ)pro koule a oválné tvary+    * Vhodné pro ploché objekty a projekce podle fotografií. 
-  * **Cylindrical mapping** – podobné sférickému, ale s válcovým rozložením; vhodné pro sloupy, lahve apod.+    * Ztrácí hloubkovou složku (Z souřadnice je zahozena). 
 +    * {{:statnice:bakalar:pasted:20250527-224746.png?300}} 
 + 
 +  * **Box mapping** – plochy se rozdělují podle orientace normály vůči šesti stranám krychle. 
 +    * Výhodné pro objekty se strukturovanými plochami (napřdomy, krabice). 
 +    * Projekce je ortogonální na každou ze stěn. 
 + 
 +  * **Spherical mapping** – projekce pomocí sférických souřadnic (azimutzenitradius)
 +    * Radius se ignoruje, výsledkem je UV mapa vhodná pro koule. 
 + 
 +  * **Cylindrical mapping** – používá azimut a výšku (z souřadnici) pro válcové objekty. 
 +    * Např. sloupy, lahve, komíny.
  
 ==== 5. Další techniky ==== ==== 5. Další techniky ====
  
-  * **Texture painting** – ruční malování textur přímo na 3D objekt+  * **Texture painting** – ruční kreslení textury přímo na model
-    - Používá se k dodání jemných detailů uměleckých efektů+    - Pro detailní doladění, švy realistické efekty. 
-  * **Texture cloning** – přenesení části fotografie nebo jiné textury na 3D model+    - Malování přímo ve 3D zobrazení nebo v 2D UV mapě. 
-    - Vhodné pro realistické texturování na základě předloh+ 
-  * **Seamless textures** – dlaždicovatelné textury bez viditelných hran, vhodné pro opakování na tších plochách.+  * **Texture cloning** – přenos části fotografie na 3D objekt
 +    - Typicky se používají fotografie z reálného světa. 
 +    - Vyžaduje UV mapu z „projekce z pohledu“ pro esné zarovnání. 
 + 
 +  * **Seamless textures** – textury navržené pro opakování bez zjevných hran
 +    - Používají se na velké plochy (např. stěnypodlahy, příroda). 
 +    - Často vytvořeny pomocí filtrů (např. Gaussian blur, grain merge) nebo offset a klonovacích nástrojů. 
 + 
 +=== Bonus:  Pokročilé techniky texturování === 
 + 
 +  * **Normal mapping** – textura obsahující normálové vektory, která simuluje detaily bez geometrie. 
 +    - Používá RGB kanály pro zakódování vektoru. 
 +    - Normály mohou být definovány prostorách: tangent, object, world. 
 +    - Používá se hlavně pro low-poly modely s vypálenými detaily z high-poly. 
 + 
 +  * **Bump mapping** – výšková mapa v odstínech šedi, která ovlivňuje osvit bez změny geometrie. 
 +    - 50 % šedá = žádná změna, světlejší = výstupky, tmavší = prohlubně. 
 +    - Lze konvertovat na normal mapu. 
 + 
 +  * **Displacement mapping** – skutečné posunutí vrcholů objektu na základě textury. 
 +    - Vyžaduje hustou geometrii pro správný efekt. 
 +    - Oproti bump/normal mapám mění skutečný tvar objektu. 
 + 
 +  * **Texture baking** – vypékání informací (osvětlení, normály, ambient occlusion…) z high-poly modelu do textur. 
 +    - Používá se pro přenos detailů z komplexního modelu na low-poly verzi. 
 +    - Např. vypékání normál, stínů, světla, barevného rozložení atd. 
 + 
 +  * **PBR materiály (Physically Based Rendering)** – využívají více typů textur pro simulaci realistických materiálů. 
 +    - Např. Base Color, Metallic, Roughness, Normal, Height, AO. 
 +    - Využívá BSDF shader (např. principled BSDF v Blenderu). 
 +    - Umožňuje realistické odrazy, lom světla a materiálové vlastnosti. 
 + 
 +  * **Environment mapping** – textury reprezentující okolní prostředí. 
 +    - Umožňuje reflexe/refrakce světla z okolí objektu. 
 +    - Typy mapování: mirror ball, equirectangular (HDRI). 
 + 
  
Navigation

Playground

QR Code
QR Code statnice:bakalar:be4b39vgo (generated for current page)