Professional Documents
Culture Documents
IZG Ultimate Guide
IZG Ultimate Guide
● Subjektivní smysl vyvolaný působením světla daného spektra šířeným zdrojem, které se
odráží od povrchu objektu a dopadá na sítnici lidského oka.
● Oko následně předá získanou informaci do mozku, který ji interpretuje jako barvu
odpovídajícím charakteristickým rozsahem vlnových délek světla odraženého od
povrchu objektu.
Co je potřeba?
● Světlo(Nositel informace)
● Objekt(má fyzické vlastnosti)
● Pozorovatel(vnímá barvu)
Světlo
● Elektromagnetické záření určité vlnové délky
● Je nositelem informace všeho co vidíme
● Achromatické světlo (bílé) - rovnoměrné zastoupení vlnových délek
● Chromatické světlo (barevné) - nerovnoměrné zastoupení vlnových délek
Charakteristika světla
● Jas (Lightness) - intenzita světla
● Sytost (Saturation) - čistota barvy světla, šířka barevného spektra
● Světlost (Value) - velikost achromatické složky světla (hlavní) barvy
● Odstín (Hue) - dominantní vlnová délka světla
RGB
● Odpovídá aditivnímu míchání barev
● Práce/míchání se světlem
● Monitory, projektory, kamery, atd…
● Základní barvy: Red, Green, Blue
● Složením základních barev maximální intenzity vzniká bílá barva
CMYK
● Odpovídá subtraktivnímu míchání barev
● Práce/míchání s pigmentem
● Tiskárna
● Základní barvy: Cyan, Magenta, Yellow,Black(key)
● Složením základních barev maximální intenzity vzniká černá barva
HSV
● Uživatelsky orientovaný model
● Nastavuje odstín, sytost a světlost
● Při úbytku světlosti klesá sytost
HSL
● Uživatelsky orientovaný model
● Nastavuje odstín, jas a sytost
● Při limitech úbytku jasu klesá zároveň i sytost
Dithering
● Nahrazení původních hodnot intenzity šedé černými a bílými body
● Snaha o vizuálně maximální odpovídající podobu
● Zachová rozměry obrázku
● Výstup na obrazovku
Prahování
● Nejprimitivnejší metoda, rozdělení pixelů obrazu podle prahové hodnoty T
● Uspokojivé pro obrazy s velkým kontrastem
● Výrazná degradace obrázku
● Jak zvolit optimální práh? Uživatel, medián, analýza histogramu
● 𝐺(𝑥, 𝑦) = 1 𝑝𝑟𝑜 𝐼(𝑥, 𝑦)≥ 𝑇 𝑎 0 𝑝𝑟𝑜 𝐼(𝑥, 𝑦) < 𝑇
Náhodné rozptýlení
● Jednoduchá a rychlá metoda
● Zachovává jasové poměry
● Rovnoměrná intenzita u velkých ploch
● Vhodné pro obrazy s velkými konstantními plochami
● 𝐺(𝑥, 𝑦) = 1 𝑝𝑟𝑜 𝐼(𝑥, 𝑦) ≥ 𝑟𝑎𝑛𝑑𝑜𝑚(𝐼𝑚𝑎𝑥) 𝑎 0 𝑗𝑖𝑛𝑎𝑘
Distribuce chyby
● Distribuce vznikající chyby okolních pixelů m
● Maximální využití vstupní informace
● Určení hodnoty G(x, y) podle vybrané metody rozptýlení
● 𝐸(𝑥, 𝑦) = 𝐼(𝑥, 𝑦) − 𝐺(𝑥, 𝑦)
● Následná distribuce chyby sousedem.Různé metody (Floyd, Bayer, Burkes,
Stucky)
Maticové rozptýlení
● Porovnání pixelů s odpovídajícími hodnotami distribuční (rozptylovací) matice a
prahování
● Dithering - plochu obrazu pokryjeme maticemi
● Halftoning - každý pixel nahradíme maticí
● 𝐺(𝑥, 𝑦) = 0
● 𝑥𝑚 = 𝑥 𝑚𝑜𝑑 𝑛
● 𝑦𝑚 = 𝑦 𝑚𝑜𝑑 𝑛
● 𝑖𝑓(𝑥, 𝑦) > 𝑀(𝑥𝑚, 𝑦𝑚) 𝑝𝑜𝑡𝑜𝑚 𝐺(𝑥, 𝑦) += 1}
Halftoning
● Každý pixel nahrazený vzorem černých a bílých bodů dané hodnoty
● Zvětšuje rozměry obrázku
● Výstup do tiskárny
Úsečka
● 𝑏𝑜𝑑𝑦 𝐴, 𝐵, 𝑢⃗ = 𝐵 − 𝐴
● Obecná rovnice
○ 𝑎𝑥 + 𝑏𝑦(−> 𝑥 𝑠𝑚𝑎𝑧𝑎𝑡) + 𝑐 = 0
● Parametrické vyjádření
○ 𝑥 = 𝑥1 + 𝑡 * 𝑢1, 𝑡 ∈< 0, 1 >
○ 𝑦 = 𝑦1 + 𝑡 * 𝑢2, 𝑡 ∈< 0, 1 >
○ U1 = x2-x1, u2 = y2-y1
● Směrnicový tvar priamky
○ 𝑦 = 𝑘𝑥 + 𝑞
○ y je funkčná hodnota (výsledok funkcie)
○ x je argument funkcie
○ q je offset po Y-ovej ose
○ k je smernica k = dy/dx dy=Y2-Y1 dx=X2-X1.
Algoritmy
Většina z nich funguje jenom v prvním kvadrantu a pouze v případě že roste od počátku
bodu P1 ke koncovému bodu P2, ostatní případy je třeba převést na tento případ
DDA
● Digital Differential Analyser
● Jeden z prvních algoritmů rasterizace úsečky
● Používá floating-point aritmetiku
Princip
● Vykresluje po pixelu od bodu P1 k bodu P2
● K ose x připočítáme přírůstek 1
● K ose y připočítáme velikost směrnice úsečky a zaokrouhlí se na nejbližší číslo
LineDDA(int x1, int y1, int x2, int y2) {
double k = (y2-y1) / (x2-x1);
double y = y1;
Princip
● Vykreslujeme po pixelu od bodu P1 k bodu P2
● K ose X připočítáme přírůstek 1
● O posunu v ose Y rozhodujeme podle znamínek (Prediktoru)
LineBres(int x1, int y1, int x2, int y2) {
int dx = x2 - x1, dy = y2 - y1;
int P = 2*dy - dx;
int P1 = 2*dy, P2 = P1 - 2*dx;
int y = y1;
Typy oblastí
● Rastrové oblasti - hranice popsaná v rastrové matici hodnotou pixelu na hranici nebo
barvou oblasti
● Vektorové oblasti - hranice popsaná seznamem vektorových entit (úsečka, kružnice,
elipsa, křivka,...)
Orientace
● Vektorový součin dvou sousedních hran
Typy vyplňování
● Paritní vyplňování - hranice odděluje vyplněný a nevyplněný prostor
● Vnitřní vyplnění - jsou vyplněné všechny body které nejsou mimo oblast
● Nenulové vyplňování
Druhy výplní
● Konstantní barva (solid)
● Jednoduchý čárový vzor (hatch)
● Složitější obecný vzor nebo textura (pattern)
Řádkové výplně
1. Pro každý řádek v oblasti vytvoříme seznam souřadnic průsečíků
x, vodorovné hrany vynecháváme
2. Seřadíme seznam podle souřadnic x
3. Vykreslíme vodorovné úseky mezi lichými (nepárnymi) a sudými (párnymi) průsečníky
4. V případě že počet průsečníků je lichý (nepárny), tak v lokálním extrému vykreslíme
úsek obou hran
Šrafování, gradient
● Vyplnění vodorovnou šrafou - přeskakování řádků pomocí
parametru
● Vyplnění gradientem - parametr inkrementující se každým
řádkem
Pinedův algoritmus
● Vyplňovaná oblast je popsaná seznamem hran, které rozděluje rovinu na poloroviny
● Nejčastěji se používá pro trojúhelníky - zaručená konvexnost
● Body roviny, které leží na kladné straně všech polorovin jsou ve vnitřní oblasti
● Není nutné vyhodnocovat hranovou funkci pro každý bod, můžeme to optimalizovat
získáním souřadnic x/y hodnoty
●
● Je-li hodnota 𝐸𝑖(𝑥, 𝑦) >= 0, pak bod P(𝑥, 𝑦)leží uvnitř nebo na hranici oblasti.
● hranová funkcia je vektorový súčin smerového vektoru priamky a vektoru z počiatku
priamky do daného bodu
Semínkové vyplňování
● Startovací bod - semínko ve vnitřní oblasti, které se rozšiřuje do 4 nebo 8 stran, nové
pixely se stávají semínkem
● Hranice jsou definované barvou přes kterou se nedá dostat
Barycentrické rovnice
● λ1 + λ2 + λ3 = 1(𝑏𝑜𝑑 𝑙𝑒ží 𝑣 𝑡𝑟𝑜𝑗𝑢ℎ𝑒𝑙𝑛í𝑘𝑢)
● λ1 + λ2 + λ3 ! = 1(𝑏𝑜𝑑 𝑙𝑒ží 𝑚𝑖𝑚𝑜 𝑡𝑟𝑜𝑗𝑢ℎ𝑒𝑙𝑛𝑖𝑘)
● λ1 = 0 𝑎 λ2 + λ3 = 1 (𝑏𝑜𝑑 𝑙𝑒ží 𝑛𝑎 ℎ𝑟𝑎𝑛ě 𝑝𝑟𝑜𝑡𝑖𝑙𝑒ℎ𝑙é 𝑘 𝑏𝑜𝑑𝑢 𝑝1)
● Výpočet souřadnic
Transformace
Lineární transformace
● Zobrazení f z jednoho vektorového prostoru do druhého f, který zachovává lineární
kombinaci
Afinní transformace
● Zobrazení f z jednoho vektorového prostoru do druhého f, který zachovává kolinearitu
(body ležící na přímce budou ležet na přímce i po zobrazení) a dělící průměr.
● Lineární transformace následovaná posunem homogenní souřadnice ve 2D s
kartézskými souřadnicemi [x,y] je uspořádání trojice [x,y,w] a platí x = X/w, y = Y/w.
Souřadnici w nazýváme váha bodu
Změna měřítka ve 3D
Zkosení ve 3D
Rotace ve 3D
Viewport transformace
Proč vzniká?
● Souvisí se způsobem vzorkování vstupních informací pro získávání výstupních
● Vzorkujeme s příliš malou vzorkovací frekvencí
● Vzorkujeme příliš pravidelně
● Vzorkujeme příliš přesně
Supersampling
● Odpovídá metodě předfiltrování
● Každý pixel je rozdělený na několik vzorků
● Výsledná hodnota pixelu je složená z hodnot vzorku
● Složení vzorků zajistí konvoluční filtr
● Vyhlazuje celý výsledný obraz (textury, hrany)
● Výrazný pokles výkonu
Multisampling
● Adaptivní supersampling
● Hustější vzorkování jen v oblasti hran, gradientech
● Výrazné vyhlazení hrany, méně textury
● Menší pokles výkonu
Ořezávání objektů
Algoritmus Cohen-Sutherland
● Koncové body P1, P2 označené binárními kódy C1,C2 oblastí
● Devět kódů oblastí -> 4 bity, 0000 = okno
Liang-Barsky
● Hledáme část úsečky ležící ve vnitřku okna anebo hodnotu parametru u
Sutherland-Hodgman
● Ořezávání celým oknem zjednodušené na ořezávání jenom jednou
stranou
● Komplikovaná realizace polygonu se vnitřními otvory
● Ořezávaný polygon může být definovaný jenom uzavřenou smyčkou
hraničních úseček
● Postupně pro každou hranu otestujeme úsečky
○ Pokud je celá uvnitř -> ulož do výsledného seznamu oba vrcholy
○ Protíná stranu -> vypočítej průsečík a ulož do seznamu
○ Vnější strany zahazujeme
Weiter-Atherton
● Výpočet průsečíků přes Liang-Barsky
● Pomocné orientované seznamy vrcholů a průsečíků
P - seznam vrcholů a průsečíků na polygonu
W - seznam vrcholů a průsečíků na okně
I - seznam průsečíků na vstupu do okna
O - seznam průsečíků na výstupu z okna
C - seznam ořezaných polygonů na vnitřku okna
R - seznam odřezků mimo okna
Postup
● Polygon uvnitř okna, ukládáme do C
○ Start v P na prvním vrcholu z I
○ Pokud jsme v P nebo W na vrcholu z I pokračujeme po P
○ Pokud jsme v P nebo W na vrcholu z O pokračujeme po W
● Odřezky mimo okno, ukládáme do R
○ Start v P na prvním vrcholu z O
○ Pokud jsme v P nebo W na vrcholu z O pokračujeme po P
○ Pokud jsme v P nebo W na vrcholu z I pokračujeme po W
Využití
● Definice fontů
● Kreativní grafika
● Šablonování
● Určování dráhy objektů při animaci
Druhy křivek
● Interpolační křivka - křivka přímo prochází body
● Aproximační křivka - křivka neprochází body (Řídicí body)
● Racionální křivka - váhové koeficienty řídících bodů, invariantní vůči perspektivní
projekci
● Neracionální křivka - tvar křivky ovlivňuje změnu polohy řídících bodů, nejsou invariantní
vůči perspektivní projekci
Jiný zápis
Spline křivka
● Spojované ze segmentů po částech polynomiální křivky
Fergusonova kubika
● Nejčastější interpolační křivka
● Určena dvěma koncovými body 𝑃0, 𝑃1a dvěmi tečnými vektory 𝑃0, 𝑃1
● Navázání segmentů - totožnost koncových bodů C0 a shodnost tečných
vektorů C1
● Přirozený spline - maticové řešení celé křivky pro nulové koncové tečné vektory
Kochanek-Bartels spline
● Interpolační spline křivka
● Využívá Fergusonových kubik
● Určeno množinou N interpolovaných bodů P a odpovídajicími koeficienty a,b,c
● Koeficienty určují chování křivky v bodě
● Definice dráhy pohybu objektů, konstantní rychlost bodu
Catmull-Rom spline
● Interpolační spline křivka určená množinou N bodů 𝑃0,..., 𝑃𝑁−1
● Tečný vektor 𝑃𝑖 je rovnoběžný k vektoru 𝑃𝑖−1č𝑖 𝑃𝑖+1
● Kochanek-Bartels s nulovými koeficienty
● Křivka vychází z bodu 𝑃1a končí v bodu 𝑃𝑁−2
● Interpolací koncových bodů zajistí jejich opakování
Beziérovy křivky
𝑛
● Polynomiální křivka s použitím Bernsteinových polynomů 𝐵𝑖
● Křivka stupně n určena n + 1 body
● Prochází koncovými body
● Polynomy mají nezápornou hodnotu, jednotkový součet
Algoritmus de Casteljau
● Rekurentní algoritmus vykreslování Bezierových křivek
● Plyne z rekurentní definice pro Bernsteinovy polynomy
● Úseky řídícího polynomu jsou děleny v poměru hodnot t a 1 − t
● Opakovaný výpočet pro různé hodnoty t se zvoleným krokem
● Spojování vypočtených bodů úsečkami.
Beziérovy kubiky
● Segment popsaný čtyřmi řídícími body
● Nelokální změna tvaru posunem jednoho bodu
● Invariantní k lineárním transformacím
Požadavky na model
● Obecnost - popis co nejrozsáhlejší třídy objektů
● Úplnost - úplně popisuje daný objekt
● Jednoznačnost - možné vyhodnotit jenom jedním způsobem
● Přesnost - přesnost popisu objektu
● Regulérnost - nemožnost vytvořit nereálnou reprezentaci
● Konzistence vůči vybraným operacím - výsledek operace pro těleso stejné třídy je
opět těleso této třídy
● Kompaktnost - malá paměťová náročnost
● Efektivnost chování - možnost efektivní implementace operací a těles
Manifold objekt
● Vyrobitelný objekt, každá hrana sdílí jen dvě stěny
Non-manifold objekt
● Nevyrobitelný objekt, hrana sdílí dvě části tělesa
Eulerova rovnice
● 𝑉−𝐸 +𝐹=2
Šablonování
● Pohyb křivky, plochy nebo tělesa po zvolené kategorii
● Nejčastější posun po 2D křivce
● Může být součástí CSG operací
● Využívá se invariance spline křivek a ploch vůči lineárním transformacím
Dekompoziční (objemové) modely
● Diskrétní popis objektu dekompozicí na elementární objektové jednotky
(kostky, hranoly)
● Vzorkování objektů, vyčíslení obsazeného objemu
● Voxel - volumetric pixel
● Nejčastěji pravidelná Kartézská mřížka
● Medicína, strojírenství a geologie
Osvětlení
Odraz
Ideální
● Difuzní - odraz do všech směrů (kulový)
● Zrcadlový - směrový, symetricky podle normály povrchu
Reálný
● Smíšený difuzní a zrcadlový - odrazové těleso
Osvětlení
● Povrch je definovaný svými vlastnostmi (hladkost, drsnost, lesklost, matnost)
● Odrazová funkce, intenzita odrazového světla podle polohy, barvy a intenzity zdroje a
směru světla
● Modely: empirické (rychlé, zjednodušené), realistické (fyzikální podstata , náročnost)
Phongův osvětlovací model
● Empirický model
● K difuzi přidává reflekci, koeficient reflekce Rs a ostrosti Ns
● Ideálním reflekce, odraz je symetrický podle normály
● Intenzita reflekce závisí na směru odrazu a směru k pozorovateli
● Ambientní složka, světelný šum, rozptýlené světelné pozadí
● NA KONCI JE VYRIESENA ULOHA
BRDF
● Fyzikálně založený model
● Realistické zobrazení
● Specializace na jednotlivé efekty nebo materiály (voda, oheň,...)
● Náročnější výpočet, možnost modelování světelných zdrojů
Flat shading
● Pro každý polygon se osvětlovacím modelem vyhodnotí středový pixel
● Celý polygon má konstantní barvu, nezohledňuje se zakřivení povrchu objektu
● Vhodné pro jednoduché zobrazení
● Ľahká implementácia v HW, podporuje OpenGL
Gouraud shading
● Pro polygon se vyhodnotí pixely na vrcholech
● Při rasterizaci polygonů probíhá interpolace barev
● Je potřeba znát průměrné normály ve vrcholech
● Zohledňuje se zakřivení povrchu objektu
● Dostatečně realistické pro běžné aplikace
● Ľahká implementácia v HW, podporuje OpenGL
Phong shading
● Při rasterizaci probíhá interpolace normál ve vrcholech
● Osvětlovací model se počítá pro každý pixel
● Je potřeba znát průměrné normály ve vrcholech
● Zohledňuje se zakřivení povrchu objektu
● Velmi kvalitní výsledek, realistické zobrazení
● Náročná implementácia, v OpenGL cez shadery
Viditelnost
Algoritmy viditelnosti
● Objektové - pro každý objekt scény hledá viditelné části
● Obrazové - pro každý pixel obrazu hledá viditelný objekt
● Kombinace - předzpracování a třídění dat
Robertsův algoritmus
● Klasický vektorový algoritmus
● Dělení potencionálně viditelných hran na úseku kde se mění viditelnost
● Vykreslení viditelných úseků
● Postup
1. Získat viditelné a obrysové hrany.
2. Rozdělit na úseky konstantní viditelnosti (průsečíky s obrysovými hranami).
3. Testovat viditelnost úseků, podle vzdálenosti průsečíku a zakrytí.
a. Viditelnost se mění na obrysových hranách.
b. Střídají se úseky viditelné a zakryté.
Plavajicí horizont
● Vizualizace 3D grafu funkcí
● Vykreslování řezu v rovině XZ a YZ odpředu dozadu
● Vykreslení úseku řezu které jsou mimo oblast horního a dolního horizontu
Malířův algoritmus
● Vykreslování objektu odzadu dopředu - zobrazení podle vzdálenosti
Dělení obrazu
● Dělení okna na čtvrtiny pokud není vyplněné jedním objektem
Z-buffer
● Pole
● Stará sa o problém viditeľnosti, rieši ktorý pixel v scéne bude vykreslený
1. O akú dátovú štruktúru sa jedná = 2D pole
2. Akú ma veľkosť = framebuffer - velkost rozlíšení color bufferu
3. Aké hodnoty obsahuje = Obsahuje Z súradnice najbližších bodov ploch ale stačí
do testu napísať Float
4. Pracuje sa v GPU
5. Pre aky typ 3D objektov je z buffer vhodný? = Netransparentné objekty, polygony,
trojuholníky
6. Implicitní plocha
Ray-casting
Plusy / Mínusy:
Textura
Textura
● Popis detailní struktury povrchu a materiálu objektu, nezávislý na jeho geometrii
● Jeden vzorek textury se nazývá texel
Texturování
● Proces nanášení textur na geometricky definovaný povrch objektu
● Textura pomáhá odlišovat a rozpoznávat jednotlivé objekty a zvyšuje úroveň reálnosti
jejich zobrazení
Datové textury
● Navrhnuté a uložené v paměti
● rychlé vykreslování
● Datově náročné
● Dochází k aliasu
Procedurální textury
● Dynamické
● Parametrické
● Spojité
● Pomalejší
● Datově nenáročné
● Menší náchylnost k aliasu
UV mapování
● Mapování realistických textur (přesné mapování, složité vzory, důležité detaily)
● Topologicky složité tělesa
1. Odraz svetla spôsobuje odraz okolitých objektov (lesklosť) na povrch textúry. Preto ju
nazývame aj mapovanie okolitého prostredia (environment mapping).
2. Zmena normálového vektora opticky mení tvar povrchu, bez toho aby sa zmenila
geometria objektu. Príkladom môže byť hrboľatá textúra (bump mapping)
3. Drsnosť povrchu podobne ako pri zmene normálového vektora opticky mení tvar
povrchu (Displacement mapping). < Nemení ho iba opticky ale tiež upravuje jeho
vertexy(siluetu)
4. Priehľadnosť sa nemusí byť na celom povrchu konštantná, ale môže sa meniť zo
zmenou miesta. Pri tom dochádza k zmene geometrických vlastností objektu (Light
mapping asi).
3(4) metódy nanášania textúr:
Bump mapping
● Modifikace normály za účelem vytvoření plastového/hrbolatého povrchu
● Geometrie objektu se nemění
Displacement mapping
● Efekt plastového/hrbolatého povrchu
● Skutečně se mění geometrie objektu
● Vhodné pro simulace
Environmental mapping
● Efekt zrcadlového odrazu okolí na hladkém povrchu
Normal mapping
● Zjednodušením povrchu ztrácíme normály, které můžeme doplnit normálovou texturou
Light mapping
● Komplexní řešení osvětlení je náročné a pomalé
● Pro real time zobrazení si můžeme osvětlení předpočítat
MIP mapping
● Řešení aliasu textur zmenšováním textury v závislosti na vzdálenosti od kamery
● Uložené do jedné matice 2x rozlišení
● Pre jednu textúru sa spravidla vytvára viacero úrovní mipmap, kde každá ďalšia úroveň
má polovičný rozmer ako predchádzajúca.
● Ak má napríklad pôvodná textúra rozmer 32x32 pixelov, je vhodné vytvoriť mipmapy o
rozmeroch 16x16, 8x8, 4x4, 2x2 až nakoniec 1x1 pixel.
● Tieto mipmapy môžu byť predgenerované a uložené na disku. Pri zmenšení obrázka
môže byť použitý vyhladzovací filter.
● Tieto techniky umožňujú zrýchliť textúrovanie malých objektov a zvýšiť ich vizuálnu
kvalitu.
Dodatek
● Při zobrazení velkých texturovaných polygonů v perspektivě dochází ke zkreslení textur,
přehnutí textury.Vzniká lineární interpolací souřednic nelineárním zkreslením vzdálenosti
v perspektivě.
● Řešení: rozdělení polygonů na menší části, když se chyba tolik neprojeví
Ray-tracing Radiozita
●
popsat na obrazku Lambertuv osvetlovaci model (vyznacit pismena ze vzorce a popsat vyznam)
3 zložky phonga:
1. Ambientná = sveteľný šum, rozptýlené sveteľné pozadie
2. Difúzna = odraz svetla do všetkých smerov = umožňuje nám vidieť objekty, závisí na
normále a polohe svetla
3. Spektakulárna = lesklá zložka udáva intenzitu tej časti svetla, ktorá sa od telesa
odráža prevažne v jednom smere podľa zákona odrazu
Fragment Shader:
● Vykonáva operácie nad jednotlivými fragmentami scény (výsledka, teda 2D obrazu),
stará sa napríklad o určenie farieb pixelov či zobrazenie textúr vo výslednom renderi
Popis:
Z čoho sa skladá:
Paralelni
- Rovnobezna
- Rovnobezne paprsky
- Zachovava rovnobeznost hran
- Vzdalenost od prumetny neovlivnuje velkost prumetu nejčasteji
- Kolme promitani
World space, local space, screen space, clip space
pre T(r, g, b) = {1/3*(P1 + P2 + P3), 1/3*(P1 + P2 + P3), 1/3*(P1 + P2 + P3)} pre C13(r, g,
b) = {1/2*(P1 + P3), 1/2*(P1 + P3), 1/2*(P1 + P3)}
Texturovanie podľa súradníc
Plane, plátno
https://www.youtube.com/watch?v=O3UFwOJsyco&feature=youtu.be&t=7778 od 1:58:00
Vykreslenie kružnice po bodoch