´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ıtog ´ epes ´ Szam´ Grafika ´ Valasek Gabor
[email protected] ¨ os ¨ Lorand ´ ´ Eotv Tudomanyegyetem Informatikai Kar
˝ ´ ev ´ 2011/2012. oszi fel
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ as? ´ Mi az a textur ´ az
Eddig: egysz´ınu˝ anyag modellek, azaz a teljes felulet ¨ azonos sz´ınu. ˝
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ as? ´ Mi az a textur ´ az
Eddig: egysz´ınu˝ anyag modellek, azaz a teljes felulet ¨ azonos sz´ınu. ˝ ´ ilyen van a valos ´ agban. ´ Keves
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ as? ´ Mi az a textur ´ az
Eddig: egysz´ınu˝ anyag modellek, azaz a teljes felulet ¨ azonos sz´ınu. ˝ ´ ilyen van a valos ´ agban. ´ Keves ´ ´ megadni. Finom reszleteket szeretnenk
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ as? ´ Mi az a textur ´ az
Eddig: egysz´ınu˝ anyag modellek, azaz a teljes felulet ¨ azonos sz´ınu. ˝ ´ ilyen van a valos ´ agban. ´ Keves ´ ´ megadni. Finom reszleteket szeretnenk ´ ´ ´ unk Valtoz o´ parameterekre van szuks ¨ eg ¨ a BRDF-ben.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ as? ´ Mi az a textur ´ az
Eddig: egysz´ınu˝ anyag modellek, azaz a teljes felulet ¨ azonos sz´ınu. ˝ ´ ilyen van a valos ´ agban. ´ Keves ´ ´ megadni. Finom reszleteket szeretnenk ´ ´ ´ unk Valtoz o´ parameterekre van szuks ¨ eg ¨ a BRDF-ben. ´ ˝ Ezeket a parametereket, elsosorban sz´ınt, adjuk meg a ´ textur ´ akban.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ as ´ Textur ´ az
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ as ´ Textur ´ az
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ as ´ Textur ´ az
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ modok ´ Textura ´ megadasi
¨ ”Tombbel”:
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ modok ´ Textura ´ megadasi
¨ ”Tombbel”: ´ tombb ¨ ˝ olvasunk, elemei a valamilyen 1/2/3 dimenzios ol texel-ek
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ modok ´ Textura ´ megadasi
¨ ”Tombbel”: ´ tombb ¨ ˝ olvasunk, elemei a valamilyen 1/2/3 dimenzios ol texel-ek ´ ´ ¨ ´ 2D szemleletesen: a geometriankat a tombben tarolt ´ ”keppel” ”fedjuk/csomagoljuk be” ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ modok ´ Textura ´ megadasi
¨ ”Tombbel”: ´ tombb ¨ ˝ olvasunk, elemei a valamilyen 1/2/3 dimenzios ol texel-ek ´ ´ ¨ ´ 2D szemleletesen: a geometriankat a tombben tarolt ´ ”keppel” ”fedjuk/csomagoljuk be” ¨ ´ ´ akkal ´ texturat vett koordinat azonos´ıtjuk a texeleket, a ´ erben ´ ak ´ [0, 1] intervallumon vannak ertelmezve ´ koordinat
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ modok ´ Textura ´ megadasi
¨ ”Tombbel”: ´ tombb ¨ ˝ olvasunk, elemei a valamilyen 1/2/3 dimenzios ol texel-ek ´ ´ ¨ ´ 2D szemleletesen: a geometriankat a tombben tarolt ´ ”keppel” ”fedjuk/csomagoljuk be” ¨ ´ ´ akkal ´ texturat vett koordinat azonos´ıtjuk a texeleket, a ´ erben ´ ak ´ [0, 1] intervallumon vannak ertelmezve ´ koordinat
´ Fuggv ennyel adjuk meg: ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ modok ´ Textura ´ megadasi
¨ ”Tombbel”: ´ tombb ¨ ˝ olvasunk, elemei a valamilyen 1/2/3 dimenzios ol texel-ek ´ ´ ¨ ´ 2D szemleletesen: a geometriankat a tombben tarolt ´ ”keppel” ”fedjuk/csomagoljuk be” ¨ ´ ´ akkal ´ texturat vett koordinat azonos´ıtjuk a texeleket, a ´ erben ´ ak ´ [0, 1] intervallumon vannak ertelmezve ´ koordinat
´ Fuggv ennyel adjuk meg: ¨ ´ seg´ıtseg ´ evel ´ valamilyen f (x, y , z) → sz´ın fuggv eny ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Bevezetes
´ modok ´ Textura ´ megadasi
¨ ”Tombbel”: ´ tombb ¨ ˝ olvasunk, elemei a valamilyen 1/2/3 dimenzios ol texel-ek ´ ´ ¨ ´ 2D szemleletesen: a geometriankat a tombben tarolt ´ ”keppel” ”fedjuk/csomagoljuk be” ¨ ´ ´ akkal ´ texturat vett koordinat azonos´ıtjuk a texeleket, a ´ erben ´ ak ´ [0, 1] intervallumon vannak ertelmezve ´ koordinat
´ Fuggv ennyel adjuk meg: ¨ ´ seg´ıtseg ´ evel ´ valamilyen f (x, y , z) → sz´ın fuggv eny ¨ ´ textur ´ asnak ´ ezt nevezzuk ¨ proceduralis ´ az
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei)
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei) ´ Honnan, hova kepezz unk? ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei) ´ Honnan, hova kepezz unk? ¨ ´ → kept ´ er: ´ textura ´ ´ Texturat es ´ er ´ alapu´ lekepez
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei) ´ Honnan, hova kepezz unk? ¨ ´ → kept ´ er: ´ textura ´ ´ Texturat es ´ er ´ alapu´ lekepez
Minden texelhez keressunk ¨ a neki megfelelo˝ pixelt.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei) ´ Honnan, hova kepezz unk? ¨ ´ → kept ´ er: ´ textura ´ ´ Texturat es ´ er ´ alapu´ lekepez Minden texelhez keressunk ¨ a neki megfelelo˝ pixelt. ´ ⊕ Hatekony.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei) ´ Honnan, hova kepezz unk? ¨ ´ → kept ´ er: ´ textura ´ ´ Texturat es ´ er ´ alapu´ lekepez Minden texelhez keressunk ¨ a neki megfelelo˝ pixelt. ´ ⊕ Hatekony. ´ ami megis, ´ Nem biztos, hogy minden pixel sorra kerul, ¨ es nem biztos, hogy csak egyszer.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei) ´ Honnan, hova kepezz unk? ¨ ´ → kept ´ er: ´ textura ´ ´ Texturat es ´ er ´ alapu´ lekepez Minden texelhez keressunk ¨ a neki megfelelo˝ pixelt. ´ ⊕ Hatekony. ´ ami megis, ´ Nem biztos, hogy minden pixel sorra kerul, ¨ es nem biztos, hogy csak egyszer.
´ er ´ → texturat ´ kept ´ er ´ alapu´ lekepez ´ ´ Kept es ´ er:
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei) ´ Honnan, hova kepezz unk? ¨ ´ → kept ´ er: ´ textura ´ ´ Texturat es ´ er ´ alapu´ lekepez Minden texelhez keressunk ¨ a neki megfelelo˝ pixelt. ´ ⊕ Hatekony. ´ ami megis, ´ Nem biztos, hogy minden pixel sorra kerul, ¨ es nem biztos, hogy csak egyszer.
´ er ´ → texturat ´ kept ´ er ´ alapu´ lekepez ´ ´ Kept es ´ er:
Minden pixelhez keresunk ¨ a neki megfelelo˝ texelt.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei) ´ Honnan, hova kepezz unk? ¨ ´ → kept ´ er: ´ textura ´ ´ Texturat es ´ er ´ alapu´ lekepez Minden texelhez keressunk ¨ a neki megfelelo˝ pixelt. ´ ⊕ Hatekony. ´ ami megis, ´ Nem biztos, hogy minden pixel sorra kerul, ¨ es nem biztos, hogy csak egyszer.
´ er ´ → texturat ´ kept ´ er ´ alapu´ lekepez ´ ´ Kept es ´ er: Minden pixelhez keresunk ¨ a neki megfelelo˝ texelt. ´ kepszint ´ ´ ´ passzol. ⊕ Inkrementalis ezishez jol
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Textura ´ lekepez es
´ ´ modok ´ Lekepez esi ´ terunk ´ er ´ (keperny ´ ´ texturat ´ Ket o˝ pixelei) es ¨ van: kept ´ er (textura ´ texelei) ´ Honnan, hova kepezz unk? ¨ ´ → kept ´ er: ´ textura ´ ´ Texturat es ´ er ´ alapu´ lekepez Minden texelhez keressunk ¨ a neki megfelelo˝ pixelt. ´ ⊕ Hatekony. ´ ami megis, ´ Nem biztos, hogy minden pixel sorra kerul, ¨ es nem biztos, hogy csak egyszer.
´ er ´ → texturat ´ kept ´ er ´ alapu´ lekepez ´ ´ Kept es ´ er: Minden pixelhez keresunk ¨ a neki megfelelo˝ texelt. ´ kepszint ´ ´ ´ passzol. ⊕ Inkrementalis ezishez jol ´ van hozza´ a parameterez ´ ´ es ´ vet´ıtesi ´ Szuks esi ¨ eg ´ ok ´ inverzere. ´ transzformaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ´ Parameterez es
¨ Hogyan tudjuk eldonteni, hogy az egyes feluleti pontokhoz ¨ ¨ ´ valasztjuk, ´ ´ a tomb melyik elemet vagy a proceduralis ´ et ´ milyen parameterekkel ´ ´ ekelj ´ textura eny ert uk ´ fuggv ¨ ¨ ki?
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ´ Parameterez es
¨ Hogyan tudjuk eldonteni, hogy az egyes feluleti pontokhoz ¨ ¨ ´ valasztjuk, ´ ´ a tomb melyik elemet vagy a proceduralis ´ et ´ milyen parameterekkel ´ ´ ekelj ´ textura eny ert uk ´ fuggv ¨ ¨ ki? ´ ´ akat ´ A felulet textura ¨ minden pontjahoz ´ koordinat rendelunk. ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ´ Parameterez es
¨ Hogyan tudjuk eldonteni, hogy az egyes feluleti pontokhoz ¨ ¨ ´ valasztjuk, ´ ´ a tomb melyik elemet vagy a proceduralis ´ et ´ milyen parameterekkel ´ ´ ekelj ´ textura eny ert uk ´ fuggv ¨ ¨ ki? ´ ´ akat ´ A felulet textura ¨ minden pontjahoz ´ koordinat rendelunk. ¨ ´ ak ´ hozzarendel ´ ´ et ´ a felulethez A textura es ´ koordinat ¨ ´ ´ nevezzuk esnek. ¨ most parameterez
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ´ Parameterez es
¨ Hogyan tudjuk eldonteni, hogy az egyes feluleti pontokhoz ¨ ¨ ´ valasztjuk, ´ ´ a tomb melyik elemet vagy a proceduralis ´ et ´ milyen parameterekkel ´ ´ ekelj ´ textura eny ert uk ´ fuggv ¨ ¨ ki? ´ ´ akat ´ A felulet textura ¨ minden pontjahoz ´ koordinat rendelunk. ¨ ´ ak ´ hozzarendel ´ ´ et ´ a felulethez A textura es ´ koordinat ¨ ´ ´ nevezzuk esnek. ¨ most parameterez ´ ´ ol ´ beszel ´ unk. A tovabbiakban 2D textur ´ akr ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ´ Parametrikus feluletek parameterez ese ¨ Parametrikus felulet: ¨ F ∈ R2 → R3 ,
´ Valasek Gabor
[email protected]
F (u, v ) := (x, y, z)
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ´ Parametrikus feluletek parameterez ese ¨ Parametrikus felulet: ¨ F ∈ R2 → R3 ,
F (u, v ) := (x, y, z)
´ ´ ´ ´ ´ u, v parameterek termeszetes modon hasznalhat oak ´ ´ textura ´ koordinataknak.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ´ Parametrikus feluletek parameterez ese ¨ Parametrikus felulet: ¨ F ∈ R2 → R3 ,
F (u, v ) := (x, y, z)
´ ´ ´ ´ ´ u, v parameterek termeszetes modon hasznalhat oak ´ ´ textura ´ koordinataknak. ´ kell. Ha DF 6= Dtex , akkor u, v -t transzformalni
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ´ Parametrikus feluletek parameterez ese ¨ Parametrikus felulet: ¨ F ∈ R2 → R3 ,
F (u, v ) := (x, y, z)
´ ´ ´ ´ ´ u, v parameterek termeszetes modon hasznalhat oak ´ ´ textura ´ koordinataknak. ´ kell. Ha DF 6= Dtex , akkor u, v -t transzformalni Pl: ´ Henger palast DF = [0, 2π] × [0, h], F (u, v ) := (cos u, h, sin u) ¯ , v¯ ) ∈ [0, 1] × [0, 1] ´ (u Textura ´ ter: ¯ := u/2π, v¯ := v /h ´ o: ´ u Transzformaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese ´ ¨ harom ´ Legyen adott a haromsz og csucsa: ´ pi = (xi , yi , zi ) ∈ R3 , i ∈ {1, 2, 3}, valamint az ezeknek ´ megfelelo˝ csucsok textura ´ ´ terben: 2 ti = (ui , vi ) ∈ R , ∈ {1, 2, 3}.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese ´ ¨ harom ´ Legyen adott a haromsz og csucsa: ´ pi = (xi , yi , zi ) ∈ R3 , i ∈ {1, 2, 3}, valamint az ezeknek ´ megfelelo˝ csucsok textura ´ ´ terben: 2 ti = (ui , vi ) ∈ R , ∈ {1, 2, 3}. ´ ´ keresunk, ´ Olyan R3 → R2 lekepez est amire pi 7→ ti , es ¨ ´ ¨ ´ ¨ ´ haromsz oget haromsz ogbe visz at.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese ´ ¨ harom ´ Legyen adott a haromsz og csucsa: ´ pi = (xi , yi , zi ) ∈ R3 , i ∈ {1, 2, 3}, valamint az ezeknek ´ megfelelo˝ csucsok textura ´ ´ terben: 2 ti = (ui , vi ) ∈ R , ∈ {1, 2, 3}. ´ ´ keresunk, ´ Olyan R3 → R2 lekepez est amire pi 7→ ti , es ¨ ´ ¨ ´ ¨ ´ haromsz oget haromsz ogbe visz at. ´ ´ a linearis ´ lekepez ´ ´ ami A legegyszerubb es es, ˝ ilyen lekepez ´ megadhato´ egy 3 × 3-as matrixszal. x Ax Ay Az u u y = Bx By Bz · v = P · v z Cx Cy Cz 1 1
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese x Ax y = Bx z Cx
Ay By Cy
Az u u Bz · v = P · v Cz 1 1
Kilenc ismeretlen, kilenc egyenlet
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese x Ax y = Bx z Cx
Ay By Cy
Az u u Bz · v = P · v Cz 1 1
Kilenc ismeretlen, kilenc egyenlet ´ ´ Ez textura es! ´ alapu´ lekepez
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese x Ax y = Bx z Cx
Ay By Cy
Az u u Bz · v = P · v Cz 1 1
Kilenc ismeretlen, kilenc egyenlet ´ ´ Ez textura es! ´ alapu´ lekepez ´ er ´ alapu´ lekepez ´ ´ Kept eshez inverz trafo´ kell: u x v = P−1 · y 1 z
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ es ´ sugark ´ ovet ¨ es ´ Textur ´ az
´ metszes: ´ vilag-koordin ´ ´ rendszerben Felulet-sug ar ata ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ es ´ sugark ´ ovet ¨ es ´ Textur ´ az
´ metszes: ´ vilag-koordin ´ ´ rendszerben Felulet-sug ar ata ¨ ´ ok: ´ Inverz transzformaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ es ´ sugark ´ ovet ¨ es ´ Textur ´ az
´ metszes: ´ vilag-koordin ´ ´ rendszerben Felulet-sug ar ata ¨ ´ ok: ´ Inverz transzformaci ´ KR → Model KR Vilag
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ es ´ sugark ´ ovet ¨ es ´ Textur ´ az
´ metszes: ´ vilag-koordin ´ ´ rendszerben Felulet-sug ar ata ¨ ´ ok: ´ Inverz transzformaci ´ KR → Model KR Vilag ´ Model KR → textura ´ ter
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ Model KR → textura ´ ter
Parametrikus feluletek ¨ ´ ´ ıtas ´ soran ´ adodik ´ ¨ A metszespont szam´ u, v , nem kell kul ¨ on ´ ıtani. szam´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ Model KR → textura ´ ter
Parametrikus feluletek ¨ ´ ´ ıtas ´ soran ´ adodik ´ ¨ A metszespont szam´ u, v , nem kell kul ¨ on ´ ıtani. szam´ ´ ¨ Haromsz ogek ´ ˝ levezetett P−1 szuks Az elobb ¨ eges. ´ lehetos ˝ eg: ´ ha sem maga a haromsz ´ ¨ sem a Gyors´ıtasi og, ´ ak ´ nem valtoznak ´ textura a csucsokban, akkor ´ koordinat ´ ´ ´ P−1 alland o.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese
´ ıthato´ inkrementalis ´ Gyakorlatban ez gyorsan szam´ algoritmussal.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese
´ ıthato´ inkrementalis ´ Gyakorlatban ez gyorsan szam´ algoritmussal. ´ ´ ak, ´ akkor Ha a harom csucsban adottak a textura ´ ´ koordinat ´ ¨ ¨ es ´ en ´ el ´ hasznalt ´ algoritmussal ezeket a haromsz ogek kitolt ´ ıthatjuk minden pixelre. kiszam´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese
´ ıthato´ inkrementalis ´ Gyakorlatban ez gyorsan szam´ algoritmussal. ´ ´ ak, ´ akkor Ha a harom csucsban adottak a textura ´ ´ koordinat ´ ¨ ¨ es ´ en ´ el ´ hasznalt ´ algoritmussal ezeket a haromsz ogek kitolt ´ ıthatjuk minden pixelre. kiszam´ Minden pontra legyen a felulet ¨ egy pontja p = αp1 + βp2 + γp3 , az α, β, γ baricentrikus ´ akkal ´ koordinat adott.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ ¨ ´ ´ Haromsz ogek parameterez ese
´ ıthato´ inkrementalis ´ Gyakorlatban ez gyorsan szam´ algoritmussal. ´ ´ ak, ´ akkor Ha a harom csucsban adottak a textura ´ ´ koordinat ´ ¨ ¨ es ´ en ´ el ´ hasznalt ´ algoritmussal ezeket a haromsz ogek kitolt ´ ıthatjuk minden pixelre. kiszam´ Minden pontra legyen a felulet ¨ egy pontja p = αp1 + βp2 + γp3 , az α, β, γ baricentrikus ´ akkal ´ koordinat adott. ´ is megkaphato´ Ekkor a p-hez tartozo´ textura ´ koordinata ´ t = αt1 + βt2 + γt3 alapjan
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az ´ ak ´ linearis ´ interpolaci ´ oja ´ hibas ´ kepet ´ A textura ad, ´ koordinat ´ ¨ on ¨ nem csak affin ha a megjelen´ıtendo˝ haromsz og ´ ot ´ vegz ´ unk. transzformaci ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az ´ ak ´ linearis ´ interpolaci ´ oja ´ hibas ´ kepet ´ A textura ad, ´ koordinat ´ ¨ on ¨ nem csak affin ha a megjelen´ıtendo˝ haromsz og ´ ot ´ vegz ´ unk. transzformaci ¨ ´Ertsd: esetek 99%-a.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az ´ u, v linearis ´ interpolaci ´ oja ´ nem lesz jo´ nem affin Tehat ´ ok ´ eseten ´ - nem linearisak ´ ´ ˝ erben ´ transzformaci a keperny ot
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az ´ u, v linearis ´ interpolaci ´ oja ´ nem lesz jo´ nem affin Tehat ´ ok ´ eseten ´ - nem linearisak ´ ´ ˝ erben ´ transzformaci a keperny ot ´ ´ osztas ´ elott ˝ a koordinat ´ aink ´ Transzformalva, homogen legyenek [xt , yt , zt , wt ]
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az ´ u, v linearis ´ interpolaci ´ oja ´ nem lesz jo´ nem affin Tehat ´ ok ´ eseten ´ - nem linearisak ´ ´ ˝ erben ´ transzformaci a keperny ot ´ ´ osztas ´ elott ˝ a koordinat ´ aink ´ Transzformalva, homogen legyenek [xt , yt , zt , wt ] ´ osztas ´ utan: ´ [xs , ys , zs , 1] = [ wxtt , wytt , wztt , 1] Homogen
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az ´ u, v linearis ´ interpolaci ´ oja ´ nem lesz jo´ nem affin Tehat ´ ok ´ eseten ´ - nem linearisak ´ ´ ˝ erben ´ transzformaci a keperny ot ´ ´ osztas ´ elott ˝ a koordinat ´ aink ´ Transzformalva, homogen legyenek [xt , yt , zt , wt ] ´ osztas ´ utan: ´ [xs , ys , zs , 1] = [ wxtt , wytt , wztt , 1] Homogen ´ Ha [xs , ys , zs , 1] szerint interpolaljuk a textura ´ ´ akat, ´ ´ koordinat akkor az nem lesz jo.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az ´ u, v linearis ´ interpolaci ´ oja ´ nem lesz jo´ nem affin Tehat ´ ok ´ eseten ´ - nem linearisak ´ ´ ˝ erben ´ transzformaci a keperny ot ´ ´ osztas ´ elott ˝ a koordinat ´ aink ´ Transzformalva, homogen legyenek [xt , yt , zt , wt ] ´ osztas ´ utan: ´ [xs , ys , zs , 1] = [ wxtt , wytt , wztt , 1] Homogen ´ Ha [xs , ys , zs , 1] szerint interpolaljuk a textura ´ ´ akat, ´ ´ koordinat akkor az nem lesz jo. ´ ˝ az helyes marad! Sot, Ezzel szemben: ha w1 -t interpolaljuk, q ´ ´ ´ ´ ´ ´ barmilyen w ertek jol interpolalodik!
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az ´ u, v linearis ´ interpolaci ´ oja ´ nem lesz jo´ nem affin Tehat ´ ok ´ eseten ´ - nem linearisak ´ ´ ˝ erben ´ transzformaci a keperny ot ´ ´ osztas ´ elott ˝ a koordinat ´ aink ´ Transzformalva, homogen legyenek [xt , yt , zt , wt ] ´ osztas ´ utan: ´ [xs , ys , zs , 1] = [ wxtt , wytt , wztt , 1] Homogen ´ Ha [xs , ys , zs , 1] szerint interpolaljuk a textura ´ ´ akat, ´ ´ koordinat akkor az nem lesz jo. ´ ˝ az helyes marad! Sot, Ezzel szemben: ha w1 -t interpolaljuk, q ´ ´ ´ ´ ´ ´ barmilyen w ertek jol interpolalodik! ´ ´ koordinata-rendszerbeli ´ α, β, γ helyett hasznaljuk a vilag ´ akat, ´ ´ αw , βw , γw koordinat es
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az ´ u, v linearis ´ interpolaci ´ oja ´ nem lesz jo´ nem affin Tehat ´ ok ´ eseten ´ - nem linearisak ´ ´ ˝ erben ´ transzformaci a keperny ot ´ ´ osztas ´ elott ˝ a koordinat ´ aink ´ Transzformalva, homogen legyenek [xt , yt , zt , wt ] ´ osztas ´ utan: ´ [xs , ys , zs , 1] = [ wxtt , wytt , wztt , 1] Homogen ´ Ha [xs , ys , zs , 1] szerint interpolaljuk a textura ´ ´ akat, ´ ´ koordinat akkor az nem lesz jo. ´ ˝ az helyes marad! Sot, Ezzel szemben: ha w1 -t interpolaljuk, q ´ ´ ´ ´ ´ ´ barmilyen w ertek jol interpolalodik! ´ ´ koordinata-rendszerbeli ´ α, β, γ helyett hasznaljuk a vilag ´ akat, ´ ´ αw , βw , γw koordinat es αw βw γw w , w , w
´ ´ ast ´ kapunk. interpolalva helyes textur ´ az
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Parameterez es
´ as ´ Perspekt´ıvikusan korrekt textur ´ az
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ szur ´ Textur ´ ak ˝ ese
´ esik pontosan egy texel egy pixelre. Ritkan
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ szur ´ Textur ´ ak ˝ ese
´ esik pontosan egy texel egy pixelre. Ritkan ´ a pixel merete ´ ´ el ´ – tobb ¨ pixel jut Nagy´ıtas: kisebb a texelen egyetlen texelre. OpenGL: GL TEXTURE MAG FILTER
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ szur ´ Textur ´ ak ˝ ese
´ esik pontosan egy texel egy pixelre. Ritkan ´ a pixel merete ´ ´ el ´ – tobb ¨ pixel jut Nagy´ıtas: kisebb a texelen egyetlen texelre. OpenGL: GL TEXTURE MAG FILTER ´ a pixel merete ´ ´ el ´ – tobb ¨ texel Kicsiny´ıtes: nagyobb a texelen jut egyetlen pixelre. OpenGL: GL TEXTURE MIN FILTER
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ szur ´ Textur ´ ak ˝ ese
´ esik pontosan egy texel egy pixelre. Ritkan ´ a pixel merete ´ ´ el ´ – tobb ¨ pixel jut Nagy´ıtas: kisebb a texelen egyetlen texelre. OpenGL: GL TEXTURE MAG FILTER ´ a pixel merete ´ ´ el ´ – tobb ¨ texel Kicsiny´ıtes: nagyobb a texelen jut egyetlen pixelre. OpenGL: GL TEXTURE MIN FILTER ´ ´ ´ ´ Tovabbi problema: ami a textura linearis, az nem az ´ terben ´ erben ´ a kept a perspekt´ıva miatt.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ Nagy´ıtas
´ ´ el ´ – tobb ¨ pixel jut egyetlen Egy pixel merete kisebb egy texelen texelre ´ nelk ´ ul: ¨ eppontj ´ ´ ¨ Szur ahoz legkozelebb eso˝ ˝ es ¨ a pixel koz ´ ek ´ et ´ hasznaljuk. ´ texel ert
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ Nagy´ıtas
´ ´ el ´ – tobb ¨ pixel jut egyetlen Egy pixel merete kisebb egy texelen texelre ´ nelk ´ ul: ¨ eppontj ´ ´ ¨ Szur ahoz legkozelebb eso˝ ˝ es ¨ a pixel koz ´ ek ´ et ´ hasznaljuk. ´ texel ert ´ szur ´ a legkozelebbi ¨ ´ texel sulyozott Bilinearis negy ˝ es: ´ ´ ´ vesszuk. atlag at ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ Kicsiny´ıtes ´ ´ el ´ – tobb ¨ texel jut Egy pixel merete nagyobb egy texelen egyetlen pixelre ´ ´ lenne: a pixel negyzet ´ ´ Pontos mintavetelez es et ´ ´ ´ az ott kijelolt ¨ texelek transzformaljuk el textura es ´ terbe, ´ ´ vegyuk. atlag at ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ Kicsiny´ıtes ´ ´ el ´ – tobb ¨ texel jut Egy pixel merete nagyobb egy texelen egyetlen pixelre ´ ´ lenne: a pixel negyzet ´ ´ Pontos mintavetelez es et ´ ´ ´ az ott kijelolt ¨ texelek transzformaljuk el textura es ´ terbe, ´ ´ vegyuk. atlag at ¨ ´ ´ Helyette: a textura is negyzetet veszunk. ´ terben ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ Kicsiny´ıtes ´ ´ el ´ – tobb ¨ texel jut Egy pixel merete nagyobb egy texelen egyetlen pixelre ´ ´ lenne: a pixel negyzet ´ ´ Pontos mintavetelez es et ´ ´ ´ az ott kijelolt ¨ texelek transzformaljuk el textura es ´ terbe, ´ ´ vegyuk. atlag at ¨ ´ ´ Helyette: a textura is negyzetet veszunk. ´ terben ¨ ˝ ´ ´ Gyakorlatban: a textura negyzet enek a ´ egy tetszoleges ´ ´ tul ˝ ´ igenyes, ´ leatlagol asa as helyette vagy ´ eroforr ´ hasznaljunk kevesebb texelt, vagy MIP-map-eket
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
´ Kicsiny´ıtes ´ ´ el ´ – tobb ¨ texel jut Egy pixel merete nagyobb egy texelen egyetlen pixelre ´ ´ lenne: a pixel negyzet ´ ´ Pontos mintavetelez es et ´ ´ ´ az ott kijelolt ¨ texelek transzformaljuk el textura es ´ terbe, ´ ´ vegyuk. atlag at ¨ ´ ´ Helyette: a textura is negyzetet veszunk. ´ terben ¨ ˝ ´ ´ Gyakorlatban: a textura negyzet enek a ´ egy tetszoleges ´ ´ tul ˝ ´ igenyes, ´ leatlagol asa as helyette vagy ´ eroforr ´ hasznaljunk kevesebb texelt, vagy MIP-map-eket Kevesebb pixel: ´ nelk ´ ul: ¨ eppontj ´ ´ ¨ Szur ahoz legkozelebb eso˝ ˝ es ¨ a pixel koz ´ ek ´ et ´ hasznaljuk. ´ texel ert ´ szur ´ a legkozelebbi ¨ ´ texel sulyozott Bilinearis negy ˝ es: ´ ´ ´ vesszuk. atlag at ¨ ´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
MIP-map-ek MIP: multum in parvo – sok, kis helyen
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
MIP-map-ek MIP: multum in parvo – sok, kis helyen ´ ´ ´ olb ´ ol, ˝ minden szinten U.n. pirasmist generalunk a textur ´ ab ´ et ´ felezve a meret
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
MIP-map-ek
´ soran ´ kivalasztjuk ´ ´ Szur a pixel/texel terulet ˝ es ¨ aranynak ´ onnan olvasunk. megfelelo˝ szintet es
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
MIP-map-ek
´ soran ´ kivalasztjuk ´ ´ Szur a pixel/texel terulet ˝ es ¨ aranynak ´ onnan olvasunk. megfelelo˝ szintet es ´ szur ´ Az adott MIP-map-en belul ¨ is lehet az olvasas ˝ es ´ uli, ´ nelk szurt. ¨ vagy lehet bilienarisan ˝
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Textura ´ szur ˝ es
MIP-map-ek
´ soran ´ kivalasztjuk ´ ´ Szur a pixel/texel terulet ˝ es ¨ aranynak ´ onnan olvasunk. megfelelo˝ szintet es ´ szur ´ Az adott MIP-map-en belul ¨ is lehet az olvasas ˝ es ´ uli, ´ nelk szurt. ¨ vagy lehet bilienarisan ˝ ´ szur ´ ket ´ szomszedos ´ ´ Trilinearis szintet hasznalunk, ˝ es: ´ szur ´ ´ ezeknek vesszuk azokon belul es ¨ bilinearis ˝ essel, ¨ a ´ ´ sulyoztott atlag at. ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ textur ´ Proceduralis ´ ak
´ ¨ ´ A textur ”tomb” helyett megadhatjuk fuggv ennyel is. ´ akat ¨
generated with Filter Forge
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ textur ´ Proceduralis ´ ak
´ ¨ ´ A textur ”tomb” helyett megadhatjuk fuggv ennyel is. ´ akat ¨ ´ ak ´ → a fuggv ´ parameterei. ´ Textura eny ´ koordinat ¨
generated with Filter Forge
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ Tulajdonsagai
˝ ok: ¨ Elony
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ Tulajdonsagai
˝ ok: ¨ Elony ´ Sokkal kevesebb tarhely
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ Tulajdonsagai
˝ ok: ¨ Elony ´ Sokkal kevesebb tarhely ˝ ´ – csak a numerikus pontossag ´ a Tetszoleges felbontas ´ korlat
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ Tulajdonsagai
˝ ok: ¨ Elony ´ Sokkal kevesebb tarhely ˝ ´ – csak a numerikus pontossag ´ a Tetszoleges felbontas ´ korlat ´ al ´ nem kell szur ´ (Kicsiny´ıtest ´ sajnos nem oldja ⇒ Nagy´ıtasn ˝ es. meg.)
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ Tulajdonsagai
˝ ok: ¨ Elony ´ Sokkal kevesebb tarhely ˝ ´ – csak a numerikus pontossag ´ a Tetszoleges felbontas ´ korlat ´ al ´ nem kell szur ´ (Kicsiny´ıtest ´ sajnos nem oldja ⇒ Nagy´ıtasn ˝ es. meg.)
´ anyok: ´ Hatr
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ Tulajdonsagai
˝ ok: ¨ Elony ´ Sokkal kevesebb tarhely ˝ ´ – csak a numerikus pontossag ´ a Tetszoleges felbontas ´ korlat ´ al ´ nem kell szur ´ (Kicsiny´ıtest ´ sajnos nem oldja ⇒ Nagy´ıtasn ˝ es. meg.)
´ anyok: ´ Hatr ´ ıtas ´ igeny. ´ Nagy szam´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ Tulajdonsagai
˝ ok: ¨ Elony ´ Sokkal kevesebb tarhely ˝ ´ – csak a numerikus pontossag ´ a Tetszoleges felbontas ´ korlat ´ al ´ nem kell szur ´ (Kicsiny´ıtest ´ sajnos nem oldja ⇒ Nagy´ıtasn ˝ es. meg.)
´ anyok: ´ Hatr ´ ıtas ´ igeny. ´ Nagy szam´ ´ Nem lehet vele barmit le´ırni.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ Proceduralis textur ´ ak
´ Tulajdonsagai
˝ ok: ¨ Elony ´ Sokkal kevesebb tarhely ˝ ´ – csak a numerikus pontossag ´ a Tetszoleges felbontas ´ korlat ´ al ´ nem kell szur ´ (Kicsiny´ıtest ´ sajnos nem oldja ⇒ Nagy´ıtasn ˝ es. meg.)
´ anyok: ´ Hatr ´ ıtas ´ igeny. ´ Nagy szam´ ´ Nem lehet vele barmit le´ırni. ´ ˝ Nem modos´ ıthato´ tetszolegesen.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ Nem-sz´ın textur ´ ak
´ seg´ıtseg ´ evel ´ ´ A textur a feluleti pont barmilyen ´ ak ¨ ´ at ´ le´ırhatjuk. tulajdonsag
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ Nem-sz´ın textur ´ ak
´ seg´ıtseg ´ evel ´ ´ A textur a feluleti pont barmilyen ´ ak ¨ ´ at ´ le´ırhatjuk. tulajdonsag ´ Ezek a tulajdonsagok lehetnek pl.: ´ – Bucka ill. normal ´ lekepez ´ ´ feluleti normalis es ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ Nem-sz´ın textur ´ ak
´ seg´ıtseg ´ evel ´ ´ A textur a feluleti pont barmilyen ´ ak ¨ ´ at ´ le´ırhatjuk. tulajdonsag ´ Ezek a tulajdonsagok lehetnek pl.: ´ – Bucka ill. normal ´ lekepez ´ ´ feluleti normalis es ¨ ´ – Displacement lekepez ´ ´ elmozdulas es
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ Nem-sz´ın textur ´ ak
´ seg´ıtseg ´ evel ´ ´ A textur a feluleti pont barmilyen ´ ak ¨ ´ at ´ le´ırhatjuk. tulajdonsag ´ Ezek a tulajdonsagok lehetnek pl.: ´ – Bucka ill. normal ´ lekepez ´ ´ feluleti normalis es ¨ ´ – Displacement lekepez ´ ´ elmozdulas es ´ ´ ´ lathat ´ ´ aga ´ ´ terk ´ epek ´ fenyforr as os – Arny ek
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ Nem-sz´ın textur ´ ak
´ seg´ıtseg ´ evel ´ ´ A textur a feluleti pont barmilyen ´ ak ¨ ´ at ´ le´ırhatjuk. tulajdonsag ´ Ezek a tulajdonsagok lehetnek pl.: ´ – Bucka ill. normal ´ lekepez ´ ´ feluleti normalis es ¨ ´ – Displacement lekepez ´ ´ elmozdulas es ´ ´ ´ lathat ´ ´ aga ´ ´ terk ´ epek ´ fenyforr as os – Arny ek ¨ ent ´ visszavert feny ´ – Visszaverod ˝ es ´ lekepez ´ ´ ill. tuk es ¨ ork ¨ ´ ´ Kornyezet lekepez es
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ lekepez ´ ´ Bucka vagy normal es ´ ´ vektorokat adunk meg. A textur normal ´ aval
+
=
generated with Filter Forge
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ lekepez ´ ´ Bucka vagy normal es ´ ´ vektorokat adunk meg. A textur normal ´ aval ´ ´ A felulet helyett ezeket hasznaljuk a ¨ eredeti normalisai ´ ıtas ´ szam´ ´ ıtasakor. ´ megvilag´
+
=
generated with Filter Forge
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ lekepez ´ ´ Bucka vagy normal es ´ ´ vektorokat adunk meg. A textur normal ´ aval ´ ´ A felulet helyett ezeket hasznaljuk a ¨ eredeti normalisai ´ ıtas ´ szam´ ´ ıtasakor. ´ megvilag´ ¨ erdes ´ ´ ´ adja, am´ıg nem nez ´ unk Rucsk os/ felulet at ¨ latszat ¨ ra´ ¨ ¨ tul ´ lapos szogben.
+
=
generated with Filter Forge
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ ´ Displacement lekepez es
´ ´ mozd´ıtjuk. A feuleti pontot tenyleges arrebb ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ ´ Displacement lekepez es
´ ´ mozd´ıtjuk. A feuleti pontot tenyleges arrebb ¨ ´ ¨ A csak haromsz ogek csucsait tudjuk elmozd´ıtani ⇒ fugg a ´ ¨ ´ at ´ ol. ´ geometria felbontas
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ ´ Displacement lekepez es
´ ´ mozd´ıtjuk. A feuleti pontot tenyleges arrebb ¨ ´ ¨ A csak haromsz ogek csucsait tudjuk elmozd´ıtani ⇒ fugg a ´ ¨ ´ at ´ ol. ´ geometria felbontas ¨ ´ anyt ´ Lapos szogben is helyes latv kapunk.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ ´ terk ´ epek ´ Arny ek ´ ´ szemszog ¨ eb ´ ol ˝ kesz´ ´ ıtunk ´ amiben A fenyforr as ¨ egy textur ´ at, ´ ´ ol ´ vett tavols ´ ´ ´ a fenyforr ast agokat taroljuk el.
+
´ Valasek Gabor
[email protected]
=
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
´ ´ terk ´ epek ´ Arny ek ´ ´ szemszog ¨ eb ´ ol ˝ kesz´ ´ ıtunk ´ amiben A fenyforr as ¨ egy textur ´ at, ´ ´ ol ´ vett tavols ´ ´ ´ a fenyforr ast agokat taroljuk el. ´ ´ soran ´ ez alapjan ´ dontj ¨ uk A tenyleges rajzolas ¨ el minden ´ ¨ ´ vagy sem. pontra, hogy azt eri-e kozvetlen ul ¨ a feny
+
´ Valasek Gabor
[email protected]
=
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
˝ es ´ lekepez ´ ´ Visszaverod es
¨ eseten ´ hasznalhat ´ ´ S´ık tukr o. ¨ ok
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
˝ es ´ lekepez ´ ´ Visszaverod es
¨ eseten ´ hasznalhat ´ ´ S´ık tukr o. ¨ ok ¨ kepet ´ ´ ıtunk, ´ ´ hogy mi Kul kesz´ textur mentve, arrol, ¨ on ¨ ´ aba ´ ¨ anyban. ´ latszik tuk ¨ orir
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
˝ es ´ lekepez ´ ´ Visszaverod es
¨ eseten ´ hasznalhat ´ ´ S´ık tukr o. ¨ ok ¨ kepet ´ ´ ıtunk, ´ ´ hogy mi Kul kesz´ textur mentve, arrol, ¨ on ¨ ´ aba ´ ¨ anyban. ´ latszik tuk ¨ orir ´ rafesz´ ´ ´ o˝ kirajzolaskor. ´ Ezt texturak ıtjuk a vegs ´ ent ¨ a feluletre ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
˝ es ´ lekepez ´ ´ Visszaverod es
¨ eseten ´ hasznalhat ´ ´ S´ık tukr o. ¨ ok ¨ kepet ´ ´ ıtunk, ´ ´ hogy mi Kul kesz´ textur mentve, arrol, ¨ on ¨ ´ aba ´ ¨ anyban. ´ latszik tuk ¨ orir ´ rafesz´ ´ ´ o˝ kirajzolaskor. ´ Ezt texturak ıtjuk a vegs ´ ent ¨ a feluletre ¨ ¨ od ˝ est ´ ad. Csak egyszeres tukr ¨ oz
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
˝ es ´ lekepez ´ ´ Visszaverod es
¨ eseten ´ hasznalhat ´ ´ S´ık tukr o. ¨ ok ¨ kepet ´ ´ ıtunk, ´ ´ hogy mi Kul kesz´ textur mentve, arrol, ¨ on ¨ ´ aba ´ ¨ anyban. ´ latszik tuk ¨ orir ´ rafesz´ ´ ´ o˝ kirajzolaskor. ´ Ezt texturak ıtjuk a vegs ´ ent ¨ a feluletre ¨ ¨ od ˝ est ´ ad. Csak egyszeres tukr ¨ oz ¨ ent ´ kul ¨ el kell vegezni. ´ Tukr ¨ onk ¨ on
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
¨ ´ ´ Kornyezet lekepez es ¨ ´ vegtelen ´ ´ A sz´ınterunk et ul tekintjuk. ¨ kornyezet ¨ tavolinak ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
¨ ´ ´ Kornyezet lekepez es ¨ ´ vegtelen ´ ´ A sz´ınterunk et ul tekintjuk. ¨ kornyezet ¨ tavolinak ¨ ´ textur ´ ´ Specialis taroljuk. ´ aban
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ Nem-sz´ın textur ´ ak
¨ ´ ´ Kornyezet lekepez es ¨ ´ vegtelen ´ ´ A sz´ınterunk et ul tekintjuk. ¨ kornyezet ¨ tavolinak ¨ ´ textur ´ ´ Specialis taroljuk. ´ aban ´ a tukr ¨ od ˝ o˝ feluletekhez ˝ olvasunk a Rajzolas ebbol ¨ oz ¨ ¨ any ´ szerint. tuk ¨ orir
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ ´ Inkrementalis kepszint ezis
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ ´ Inkrementalis kepszint ezis
´ kepszint ´ ´ Inkrementalis ezis
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ ´ Inkrementalis kepszint ezis
´ kepszint ´ ´ Inkrementalis ezis
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ ´ ´ Inkrementalis kepszint ezis
´ kepszint ´ ´ Inkrementalis ezis
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ Vertex data: a modell-koordinatarendszerbeli ´ poz´ıcioadatok
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ Vertex data: a modell-koordinatarendszerbeli ´ poz´ıcioadatok ¨ ¨ esi ´ szabalyok, ´ ˝ ˝ Primitive data: osszek ot az elobbiekb ol ´ primit´ıveket hogyan kapunk rajzolasi
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ Vertex data: a modell-koordinatarendszerbeli ´ poz´ıcioadatok ¨ ¨ esi ´ szabalyok, ´ ˝ ˝ Primitive data: osszek ot az elobbiekb ol ´ primit´ıveket hogyan kapunk rajzolasi ´ kozel´ ¨ ıtese, ´ Tesselation: magasabb rendu˝ primit´ıvek linearis ¨ ıtesek ´ ´ a kozel´ csucspontjainak vertexpufferbe helyezese ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ Vertex data: a modell-koordinatarendszerbeli ´ poz´ıcioadatok ¨ ¨ esi ´ szabalyok, ´ ˝ ˝ Primitive data: osszek ot az elobbiekb ol ´ primit´ıveket hogyan kapunk rajzolasi ´ kozel´ ¨ ıtese, ´ Tesselation: magasabb rendu˝ primit´ıvek linearis ¨ ıtesek ´ ´ a kozel´ csucspontjainak vertexpufferbe helyezese ´ ´ nezeti ´ ´ projekt´ıv Vertex processing: a vilag, es ´ ok ´ elvegz ´ ese; ´ transzformaci a ´ ˝ NPKR-be visz (z ∈ [0, 1] modell-koordinatarendszerb ol
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ as, ´ hatlapeldob ´ ´ raszterizaci ´ o´ Geometry processing: vag as,
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ as, ´ hatlapeldob ´ ´ raszterizaci ´ o´ Geometry processing: vag as, Textured surface: 1/2/3D-s textura ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ as, ´ hatlapeldob ´ ´ raszterizaci ´ o´ Geometry processing: vag as, Textured surface: 1/2/3D-s textura ´ ´ ˝ szur ´ Texture sampler: textura o, stb. ˝ esek ´ mintavetelez
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ as, ´ hatlapeldob ´ ´ raszterizaci ´ o´ Geometry processing: vag as, Textured surface: 1/2/3D-s textura ´ ´ ˝ szur ´ Texture sampler: textura o, stb. ˝ esek ´ mintavetelez ¨ o˝ fragment sz´ınenek ´ ´ ıtasa ´ Pixel processing: a bejov kiszam´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ as, ´ hatlapeldob ´ ´ raszterizaci ´ o´ Geometry processing: vag as, Textured surface: 1/2/3D-s textura ´ ´ ˝ szur ´ Texture sampler: textura o, stb. ˝ esek ´ mintavetelez ¨ o˝ fragment sz´ınenek ´ ´ ıtasa ´ Pixel processing: a bejov kiszam´ ´ ˝ kerul ´ Pixel rendering: keperny ore ¨ o˝ pixel sz´ınenek ´ ´ (melys ´ egi ´ es ´ egyeb ´ tesztek) meghataroz asa
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ¨ ul ´ a vertex es ´ a A fenti fazisok koz ¨ ketto˝ programozhato, ´ a tobbi ¨ ´ pixel feldolgozas, konfiguralhat o´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ¨ ul ´ a vertex es ´ a A fenti fazisok koz ¨ ketto˝ programozhato, ´ a tobbi ¨ ´ pixel feldolgozas, konfiguralhat o´ Vertex shader:
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ¨ ul ´ a vertex es ´ a A fenti fazisok koz ¨ ketto˝ programozhato, ´ a tobbi ¨ ´ pixel feldolgozas, konfiguralhat o´ Vertex shader: ´ aban ´ ´ egyeb ´ bemenete: altal modell-KR-beli pont es attributumok ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ¨ ul ´ a vertex es ´ a A fenti fazisok koz ¨ ketto˝ programozhato, ´ a tobbi ¨ ´ pixel feldolgozas, konfiguralhat o´ Vertex shader: ´ aban ´ ´ egyeb ´ bemenete: altal modell-KR-beli pont es attributumok ´ ´ egyeb ´ attributumok kimenete: NPKR-beli pont es ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ¨ ul ´ a vertex es ´ a A fenti fazisok koz ¨ ketto˝ programozhato, ´ a tobbi ¨ ´ pixel feldolgozas, konfiguralhat o´ Vertex shader: ´ aban ´ ´ egyeb ´ bemenete: altal modell-KR-beli pont es attributumok ´ ´ egyeb ´ attributumok kimenete: NPKR-beli pont es ´
Pixel shader:
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ¨ ul ´ a vertex es ´ a A fenti fazisok koz ¨ ketto˝ programozhato, ´ a tobbi ¨ ´ pixel feldolgozas, konfiguralhat o´ Vertex shader: ´ aban ´ ´ egyeb ´ bemenete: altal modell-KR-beli pont es attributumok ´ ´ egyeb ´ attributumok kimenete: NPKR-beli pont es ´
Pixel shader: ´ as ´ veg ´ en ´ elo˝ all ´ o´ fragmentek - az bemenete: a raszterizal ¨ ´ ˝ amit a vertex shaderben osszes attributum elerhet o, ´ ´ ıtottunk elo˝ all´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ¨ ul ´ a vertex es ´ a A fenti fazisok koz ¨ ketto˝ programozhato, ´ a tobbi ¨ ´ pixel feldolgozas, konfiguralhat o´ Vertex shader: ´ aban ´ ´ egyeb ´ bemenete: altal modell-KR-beli pont es attributumok ´ ´ egyeb ´ attributumok kimenete: NPKR-beli pont es ´
Pixel shader: ´ as ´ veg ´ en ´ elo˝ all ´ o´ fragmentek - az bemenete: a raszterizal ¨ ´ ˝ amit a vertex shaderben osszes attributum elerhet o, ´ ´ ıtottunk elo˝ all´ ´ ek ´ kimenete: egy sz´ınert
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ´ a pixel feldolgozasi ´ fazis ´ Regen a vertex es sem volt programozhato´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ´ a pixel feldolgozasi ´ fazis ´ Regen a vertex es sem volt programozhato´ ´ tudtuk oket ˝ ´ os ´ Csak konfiguralni → pl. transzformaci ´ ´ ´ ´ ıtasi ´ matrixokat atadni, a DX-be bedrotozott megvilag´ ´ modelleket felparameterezni stb.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 9 pipeline
´ ´ a pixel feldolgozasi ´ fazis ´ Regen a vertex es sem volt programozhato´ ´ tudtuk oket ˝ ´ os ´ Csak konfiguralni → pl. transzformaci ´ ´ ´ ´ ıtasi ´ matrixokat atadni, a DX-be bedrotozott megvilag´ ´ modelleket felparameterezni stb. ´ Fixed Function Pipeline-nak Ezt h´ıvtak
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 10 pipeline
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 10 pipeline
Input-Assembler stage: a pipeline bemeneti adatainak ´ ıtas ´ at ´ vegzi ´ elo˝ all´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 10 pipeline
Input-Assembler stage: a pipeline bemeneti adatainak ´ ıtas ´ at ´ vegzi ´ elo˝ all´ ´ Vertex-Shader stage: ld. mint korabban
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 10 pipeline
Input-Assembler stage: a pipeline bemeneti adatainak ´ ıtas ´ at ´ vegzi ´ elo˝ all´ ´ Vertex-Shader stage: ld. mint korabban ´ egesz ´ primit´ıveket Geometry-Shader stage: bemenetkent ´ ¨ ´ 3, szakaszoknal ´ 2, pontoknal ´ 1 kap (haromsz ogek eseten ¨ o˝ primit´ıvet vagy egy vagy tobb ¨ uj pont), eldobhatja a bejov ´ ´ ´ a szereloszalagra ˝ primit´ıvet letrehozhat es helyezheti. Ez ´ egy uj, ´ programozhato´ fazis
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 10 pipeline
´ a memori ´ aba ´ Stream-Output Stage: a pipeline-bol valo´ ´ ıtasra ´ ´ ´ a raszterizal ´ as ´ elott ˝ adattovabb´ hasznalhat o, ¨ enik. ´ ´ ki is lehet ´ırni raszterizal ´ ashoz. ´ tort Adatokat be- es
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 10 pipeline
´ a memori ´ aba ´ Stream-Output Stage: a pipeline-bol valo´ ´ ıtasra ´ ´ ´ a raszterizal ´ as ´ elott ˝ adattovabb´ hasznalhat o, ¨ enik. ´ ´ ki is lehet ´ırni raszterizal ´ ashoz. ´ tort Adatokat be- es ´ as ´ Rasterizer Stage: raszterizal
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 10 pipeline
´ a memori ´ aba ´ Stream-Output Stage: a pipeline-bol valo´ ´ ıtasra ´ ´ ´ a raszterizal ´ as ´ elott ˝ adattovabb´ hasznalhat o, ¨ enik. ´ ´ ki is lehet ´ırni raszterizal ´ ashoz. ´ tort Adatokat be- es ´ as ´ Rasterizer Stage: raszterizal ´ Pixel-Shader Stage: ld. korabban
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 10 pipeline
´ a memori ´ aba ´ Stream-Output Stage: a pipeline-bol valo´ ´ ıtasra ´ ´ ´ a raszterizal ´ as ´ elott ˝ adattovabb´ hasznalhat o, ¨ enik. ´ ´ ki is lehet ´ırni raszterizal ´ ashoz. ´ tort Adatokat be- es ´ as ´ Rasterizer Stage: raszterizal ´ Pixel-Shader Stage: ld. korabban ¨ oz ¨ o˝ kimeneti adatok (sz´ın-, Output-Merger Stage: a kul ¨ onb ´ egi´ ´ egyeb ´ informaci ´ ok) ´ felhasznal ´ as ´ aval ´ ´ o˝ melys es a vegs ´ kiszam´ ´ ıtasa ´ eredmeny
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Geometry Shader
´ asa, ´ ´ eltuntet ´ Feladata: uj (vagy regi ese) ´ geometria general ¨
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Geometry Shader
´ asa, ´ ´ eltuntet ´ Feladata: uj (vagy regi ese) ´ geometria general ¨ ´ ´ transzformalt ´ primit´ıvekre fut let. A vertex shader altal mar
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Geometry Shader
´ asa, ´ ´ eltuntet ´ Feladata: uj (vagy regi ese) ´ geometria general ¨ ´ ´ transzformalt ´ primit´ıvekre fut let. A vertex shader altal mar ´ agi ´ infokkal, ´ Bemenete: teljes primit´ıv (szomszeds ha vannak)
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Geometry Shader
´ asa, ´ ´ eltuntet ´ Feladata: uj (vagy regi ese) ´ geometria general ¨ ´ ´ transzformalt ´ primit´ıvekre fut let. A vertex shader altal mar ´ agi ´ infokkal, ´ Bemenete: teljes primit´ıv (szomszeds ha vannak) Kimenete: ujabb primit´ıv[ek], vagy semmi. ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Geometry Shader
´ asa, ´ ´ eltuntet ´ Feladata: uj (vagy regi ese) ´ geometria general ¨ ´ ´ transzformalt ´ primit´ıvekre fut let. A vertex shader altal mar ´ agi ´ infokkal, ´ Bemenete: teljes primit´ıv (szomszeds ha vannak) Kimenete: ujabb primit´ıv[ek], vagy semmi. ´ Kimeneti t´ıpusok:PointStream, LineStream, vagy TriangleStream
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 11 pipeline
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 11 pipeline
˝ de itt a tesszelaci ´ o´ mar ´ A DX10-es pipeline-nak megfelelo, programozhato´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 11 pipeline
˝ de itt a tesszelaci ´ o´ mar ´ A DX10-es pipeline-nak megfelelo, programozhato´ ´ anos ´ ´ ıtasokra ´ Emellett a DX11-ben az altal szam´ valo´ ´ as ´ is elot ˝ erbe ´ felhasznal kerult ¨ → ComputeShader
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 11 pipeline
˝ de itt a tesszelaci ´ o´ mar ´ A DX10-es pipeline-nak megfelelo, programozhato´ ´ anos ´ ´ ıtasokra ´ Emellett a DX11-ben az altal szam´ valo´ ´ as ´ is elot ˝ erbe ´ felhasznal kerult ¨ → ComputeShader ´ ota ´ nagy az igeny ´ a GPU-kban rejlo˝ szam´ ´ ıtasi ´ Reg ´ kihasznal ´ as ´ ara ´ kapacitas
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
DirectX 11 pipeline
˝ de itt a tesszelaci ´ o´ mar ´ A DX10-es pipeline-nak megfelelo, programozhato´ ´ anos ´ ´ ıtasokra ´ Emellett a DX11-ben az altal szam´ valo´ ´ as ´ is elot ˝ erbe ´ felhasznal kerult ¨ → ComputeShader ´ ota ´ nagy az igeny ´ a GPU-kban rejlo˝ szam´ ´ ıtasi ´ Reg ´ kihasznal ´ as ´ ara ´ kapacitas Ui. pl.: Intel Core i7 980 XE: 109 GFLOPS, Nvidia GTX ´ 480: 672 GFLOPS, dupla pontossagban
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
´ os ´ lep ´ esek ´ Tesszelaci ´ primit´ıv tipusokat hasznal ´ Specialis
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
´ os ´ lep ´ esek ´ Tesszelaci ´ primit´ıv tipusokat hasznal ´ Specialis ´ ¨ foltok (patches) negysz og
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
´ os ´ lep ´ esek ´ Tesszelaci ´ primit´ıv tipusokat hasznal ´ Specialis ´ ¨ foltok (patches) negysz og ´ ¨ foltok haromsz og
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
´ os ´ lep ´ esek ´ Tesszelaci ´ primit´ıv tipusokat hasznal ´ Specialis ´ ¨ foltok (patches) negysz og ´ ¨ foltok haromsz og iso-vonalak
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
´ os ´ lep ´ esek ´ Tesszelaci ´ primit´ıv tipusokat hasznal ´ Specialis ´ ¨ foltok (patches) negysz og ´ ¨ foltok haromsz og iso-vonalak
¨ ´ okat ´ ´ u´ Alapotlet: a transzformaci az alacsony felbontas ´ ´ tesszelaci ´ oval, ´ foltokon vegezz uk, hardveresen bontjuk ¨ es ´ tesszuk ´ ´ fel kisebb darabokra es a. ¨ reszletgazdagg
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
´ os ´ lep ´ esek ´ Tesszelaci ´ primit´ıv tipusokat hasznal ´ Specialis ´ ¨ foltok (patches) negysz og ´ ¨ foltok haromsz og iso-vonalak
¨ ´ okat ´ ´ u´ Alapotlet: a transzformaci az alacsony felbontas ´ ´ tesszelaci ´ oval, ´ foltokon vegezz uk, hardveresen bontjuk ¨ es ´ tesszuk ´ ´ fel kisebb darabokra es a. ¨ reszletgazdagg ´ o: ´ Hasznalat
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
´ os ´ lep ´ esek ´ Tesszelaci ´ primit´ıv tipusokat hasznal ´ Specialis ´ ¨ foltok (patches) negysz og ´ ¨ foltok haromsz og iso-vonalak
¨ ´ okat ´ ´ u´ Alapotlet: a transzformaci az alacsony felbontas ´ ´ tesszelaci ´ oval, ´ foltokon vegezz uk, hardveresen bontjuk ¨ es ´ tesszuk ´ ´ fel kisebb darabokra es a. ¨ reszletgazdagg ´ o: ´ Hasznalat displacement mapping
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
´ os ´ lep ´ esek ´ Tesszelaci ´ primit´ıv tipusokat hasznal ´ Specialis ´ ¨ foltok (patches) negysz og ´ ¨ foltok haromsz og iso-vonalak
¨ ´ okat ´ ´ u´ Alapotlet: a transzformaci az alacsony felbontas ´ ´ tesszelaci ´ oval, ´ foltokon vegezz uk, hardveresen bontjuk ¨ es ´ tesszuk ´ ´ fel kisebb darabokra es a. ¨ reszletgazdagg ´ o: ´ Hasznalat displacement mapping ´ nezet fugg ¨ o˝ dinamikus LOD (level of detail)
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
´ os ´ lep ´ esek ´ Tesszelaci ´ primit´ıv tipusokat hasznal ´ Specialis ´ ¨ foltok (patches) negysz og ´ ¨ foltok haromsz og iso-vonalak
¨ ´ okat ´ ´ u´ Alapotlet: a transzformaci az alacsony felbontas ´ ´ tesszelaci ´ oval, ´ foltokon vegezz uk, hardveresen bontjuk ¨ es ´ tesszuk ´ ´ fel kisebb darabokra es a. ¨ reszletgazdagg ´ o: ´ Hasznalat displacement mapping ´ nezet fugg ¨ o˝ dinamikus LOD (level of detail) ´ ´ morph-olasok gyors´ıtasa
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Hull Shader Stage
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Hull Shader Stage
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Hull Shader Stage ´ dolgozza fel a Foltonkent bementi pontokat.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Hull Shader Stage ´ dolgozza fel a Foltonkent bementi pontokat. Konstansokat rendel a folthoz, ´ as ´ modj ´ at ´ amik a tesszelal ´ ´ meg. hatarozz ak
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Hull Shader Stage ´ dolgozza fel a Foltonkent bementi pontokat. Konstansokat rendel a folthoz, ´ as ´ modj ´ at ´ amik a tesszelal ´ ´ meg. hatarozz ak ´ o´ mert ´ ek ´ et. ´ Megadja a tesszelaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Hull Shader Stage ´ dolgozza fel a Foltonkent bementi pontokat. Konstansokat rendel a folthoz, ´ as ´ modj ´ at ´ amik a tesszelal ´ ´ meg. hatarozz ak ´ o´ mert ´ ek ´ et. ´ Megadja a tesszelaci ´ kul ¨ kimenet: Ket ¨ on
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Hull Shader Stage ´ dolgozza fel a Foltonkent bementi pontokat. Konstansokat rendel a folthoz, ´ as ´ modj ´ at ´ amik a tesszelal ´ ´ meg. hatarozz ak ´ o´ mert ´ ek ´ et. ´ Megadja a tesszelaci ´ kul ¨ kimenet: Ket ¨ on ´ o˝ pontok a Domain Vezerl Shader-nek
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Hull Shader Stage ´ dolgozza fel a Foltonkent bementi pontokat. Konstansokat rendel a folthoz, ´ as ´ modj ´ at ´ amik a tesszelal ´ ´ meg. hatarozz ak ´ o´ mert ´ ek ´ et. ´ Megadja a tesszelaci ´ kul ¨ kimenet: Ket ¨ on ´ o˝ pontok a Domain Vezerl Shader-nek Konstansok a Tesselator Stage-nek
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Hull Shader Stage ´ dolgozza fel a Foltonkent bementi pontokat. Konstansokat rendel a folthoz, ´ as ´ modj ´ at ´ amik a tesszelal ´ ´ meg. hatarozz ak ´ o´ mert ´ ek ´ et. ´ Megadja a tesszelaci ´ kul ¨ kimenet: Ket ¨ on
msdn.microsoft.com
´ o˝ pontok a Domain Vezerl Shader-nek Konstansok a Tesselator Stage-nek
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Tesselator Stage
´ Nem programozhato.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Tesselator Stage
´ Nem programozhato. ´ ´ ¨ Felbontja a tartomanyt kisebb darabokra (negysz og, ´ ¨ szakasz). haromsz og,
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Tesselator Stage
´ Nem programozhato. ´ ´ ¨ Felbontja a tartomanyt kisebb darabokra (negysz og, ´ ¨ szakasz). haromsz og, ´ ´ akat ´ ´ ıt elo˝ kimenetkent. ´ u, v (opcionalisan w) koordinat all´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Tesselator Stage
´ Nem programozhato. ´ ´ ¨ Felbontja a tartomanyt kisebb darabokra (negysz og, ´ ¨ szakasz). haromsz og, ´ ´ akat ´ ´ ıt elo˝ kimenetkent. ´ u, v (opcionalisan w) koordinat all´ ´ ´ ´ ok ´ a primitive ”Lathatatlan” kimenet: topologiai informaci assembly-nek
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Domain Shader Stage
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Domain Shader Stage
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Domain Shader Stage ´ A Tesselator Stage soran ´ ıtott minden egyes pontra elo˝ all´ lefut.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Domain Shader Stage ´ A Tesselator Stage soran ´ ıtott minden egyes pontra elo˝ all´ lefut. Bemenete:
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Domain Shader Stage ´ A Tesselator Stage soran ´ ıtott minden egyes pontra elo˝ all´ lefut. Bemenete: ˝ A Tesselator Stage-tol: u, v , (w)-k.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Domain Shader Stage ´ A Tesselator Stage soran ´ ıtott minden egyes pontra elo˝ all´ lefut. Bemenete: ˝ A Tesselator Stage-tol: u, v , (w)-k. ˝ A Hull Shader-tol: ´ o˝ pontok vezerl
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Domain Shader Stage ´ A Tesselator Stage soran ´ ıtott minden egyes pontra elo˝ all´ lefut. Bemenete: ˝ A Tesselator Stage-tol: u, v , (w)-k. ˝ A Hull Shader-tol: ´ o˝ pontok vezerl ˝ A Hull Shader-tol: ´ os ´ faktorok tesszelaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Domain Shader Stage ´ A Tesselator Stage soran ´ ıtott minden egyes pontra elo˝ all´ lefut. Bemenete: ˝ A Tesselator Stage-tol: u, v , (w)-k. ˝ A Hull Shader-tol: ´ o˝ pontok vezerl ˝ A Hull Shader-tol: ´ os ´ faktorok tesszelaci
˝ egyetlen A bemetekbol ´ ıt elo, ˝ es ´ az lesz a csucspontot all´ ´ kimenet. ´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Domain Shader Stage ´ A Tesselator Stage soran ´ ıtott minden egyes pontra elo˝ all´ lefut. Bemenete: ˝ A Tesselator Stage-tol: u, v , (w)-k. ˝ A Hull Shader-tol: ´ o˝ pontok vezerl ˝ A Hull Shader-tol: ´ os ´ faktorok tesszelaci
msdn.microsoft.com
˝ egyetlen A bemetekbol ´ ıt elo, ˝ es ´ az lesz a csucspontot all´ ´ kimenet. ´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis ´ ´ bemenetekre. Nincsenek megszor´ıtasok a ki- es
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis ´ ´ bemenetekre. Nincsenek megszor´ıtasok a ki- es ´ asai: ´ Felhasznal
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis ´ ´ bemenetekre. Nincsenek megszor´ıtasok a ki- es ´ asai: ´ Felhasznal ´ ´ Kepfeldolgoz as/post-processing
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis ´ ´ bemenetekre. Nincsenek megszor´ıtasok a ki- es ´ asai: ´ Felhasznal ´ ´ Kepfeldolgoz as/post-processing Ray-tracing
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis ´ ´ bemenetekre. Nincsenek megszor´ıtasok a ki- es ´ asai: ´ Felhasznal ´ ´ Kepfeldolgoz as/post-processing Ray-tracing Fizika
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis ´ ´ bemenetekre. Nincsenek megszor´ıtasok a ki- es ´ asai: ´ Felhasznal ´ ´ Kepfeldolgoz as/post-processing Ray-tracing Fizika AI
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis ´ ´ bemenetekre. Nincsenek megszor´ıtasok a ki- es ´ asai: ´ Felhasznal ´ ´ Kepfeldolgoz as/post-processing Ray-tracing Fizika AI
´ ”Testverei”
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis ´ ´ bemenetekre. Nincsenek megszor´ıtasok a ki- es ´ asai: ´ Felhasznal ´ ´ Kepfeldolgoz as/post-processing Ray-tracing Fizika AI
´ ”Testverei” CUDA
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
DirectX
Compute Shader ´ anos ´ ´ u´ szam´ ´ ıtasokat ´ ˝ e´ a GPU-n. Altal cel tesz lehetov ´ adatszerkezeteket hasznal. ´ Specialis ´ ´ bemenetekre. Nincsenek megszor´ıtasok a ki- es ´ asai: ´ Felhasznal ´ ´ Kepfeldolgoz as/post-processing Ray-tracing Fizika AI
´ ”Testverei” CUDA OpenCL
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
OpenGL
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
OpenGL
OpenGL pipeline
´ elnevezesekkel, ´ ´ ol ´ hasonloak, ´ Mas de nagyjab mint a DX
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
OpenGL
OpenGL 3.x pipeline
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
OpenGL
OpenGL 4.1 pipeline
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
Tartalom 1
´ as ´ Textur ´ az ´ Bevezetes ´ ´ Textura es ´ lekepez ´ ´ Parameterez es ´ Textura ´ szur ˝ es ´ textur ´ Proceduralis ´ ak ´ Nem-sz´ın textur ´ ak
2
´ kepszint ´ ´ Inkrementalis ezis a GPU-n ´ kepszint ´ ´ Inkrementalis ezis DirectX OpenGL ´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ 1. Generaci
NVIDIA TNT2, ATI Rage, 3dfx Voodoo3
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ 1. Generaci
NVIDIA TNT2, ATI Rage, 3dfx Voodoo3 ´ ak ´ kiegesz´ ´ ıtese ´ A standard 2d-s videokarty
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ 1. Generaci
NVIDIA TNT2, ATI Rage, 3dfx Voodoo3 ´ ak ´ kiegesz´ ´ ıtese ´ A standard 2d-s videokarty ´ okat ´ ´ a CPU csinalja! ´ Csucspont transzformaci meg ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ 1. Generaci
NVIDIA TNT2, ATI Rage, 3dfx Voodoo3 ´ ak ´ kiegesz´ ´ ıtese ´ A standard 2d-s videokarty ´ okat ´ ´ a CPU csinalja! ´ Csucspont transzformaci meg ´ ´ ´ ast, ´ Z-buffer kezelest ´ vegezte ´ A kartya csak a textur ´ az
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (1999-2000) 2. Generaci
NVIDIA GeForce 256, GeForce 2, ATI Radeon 7500
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (1999-2000) 2. Generaci
NVIDIA GeForce 256, GeForce 2, ATI Radeon 7500 ´ ´ ok ´ es ´ az arnyal ´ ´ kezeles ´ et ´ a Atveszik a transzformaci as ´ CPU-tol.
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (1999-2000) 2. Generaci
NVIDIA GeForce 256, GeForce 2, ATI Radeon 7500 ´ ´ ok ´ es ´ az arnyal ´ ´ kezeles ´ et ´ a Atveszik a transzformaci as ´ CPU-tol. ´ DirectX 7 is tamogatja ´ Az OpenGL es a hardveres ´ okat ´ csucspont transzformaci ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (1999-2000) 2. Generaci
NVIDIA GeForce 256, GeForce 2, ATI Radeon 7500 ´ ´ ok ´ es ´ az arnyal ´ ´ kezeles ´ et ´ a Atveszik a transzformaci as ´ CPU-tol. ´ DirectX 7 is tamogatja ´ Az OpenGL es a hardveres ´ okat ´ csucspont transzformaci ´ ´ as ´ megjelenese: ´ Multi-textur bump map, light map ´ az
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (1999-2000) 2. Generaci
NVIDIA GeForce 256, GeForce 2, ATI Radeon 7500 ´ ´ ok ´ es ´ az arnyal ´ ´ kezeles ´ et ´ a Atveszik a transzformaci as ´ CPU-tol. ´ DirectX 7 is tamogatja ´ Az OpenGL es a hardveres ´ okat ´ csucspont transzformaci ´ ´ as ´ megjelenese: ´ Multi-textur bump map, light map ´ az ´ ´ nem Konfiguralhat o´ (driver szinten), de meg programozhato´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2001) 3. Generaci
NVIDIA GeForce 3, GeForce 4 Ti, Xbox, ATI Radeon 8500
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2001) 3. Generaci
NVIDIA GeForce 3, GeForce 4 Ti, Xbox, ATI Radeon 8500 ´ ´ aga ´ A csucspont pipeline korlatozott programozhatos ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2001) 3. Generaci
NVIDIA GeForce 3, GeForce 4 Ti, Xbox, ATI Radeon 8500 ´ ´ aga ´ A csucspont pipeline korlatozott programozhatos ´ ´ as, ´ de meg ´ nem Fejlettebb pixel szintu˝ konfigural ´ programozas
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2001) 3. Generaci
NVIDIA GeForce 3, GeForce 4 Ti, Xbox, ATI Radeon 8500 ´ ´ aga ´ A csucspont pipeline korlatozott programozhatos ´ ´ as, ´ de meg ´ nem Fejlettebb pixel szintu˝ konfigural ´ programozas ´ tobbsz ¨ ¨ os ¨ mintavetelez ´ ´ (antialias-hoz) 3d-s textur or es ´ ak,
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2002) 4. Generaci
NVIDIA GeForce FX, ATI Radeon 9700
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2002) 4. Generaci
NVIDIA GeForce FX, ATI Radeon 9700 ´ pixel pipeline teljesen programozhato´ A csucspont es ´ ˝ ´ ´ ´ meg ´ vannak) (eroforr as-korl atok azert
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2002) 4. Generaci
NVIDIA GeForce FX, ATI Radeon 9700 ´ pixel pipeline teljesen programozhato´ A csucspont es ´ ˝ ´ ´ ´ meg ´ vannak) (eroforr as-korl atok azert ´ Magas szintu˝ arnyal o´ nyelvek (shading languages) ´ (NVIDIA Cg, Microsoft HLSL, OpenGL GLSL) megjelenese
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2002) 4. Generaci
NVIDIA GeForce FX, ATI Radeon 9700 ´ pixel pipeline teljesen programozhato´ A csucspont es ´ ˝ ´ ´ ´ meg ´ vannak) (eroforr as-korl atok azert ´ Magas szintu˝ arnyal o´ nyelvek (shading languages) ´ (NVIDIA Cg, Microsoft HLSL, OpenGL GLSL) megjelenese Shader Model 2.0 (simple branching)
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2004) 5. Generaci
NVIDIA GeForce 6, ATI Radeon X, GeForce 7
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2004) 5. Generaci
NVIDIA GeForce 6, ATI Radeon X, GeForce 7 ¨ puffer szimultan ´ renderelese ´ Tobb
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2004) 5. Generaci
NVIDIA GeForce 6, ATI Radeon X, GeForce 7 ¨ puffer szimultan ´ renderelese ´ Tobb 64bites pipeline
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2004) 5. Generaci
NVIDIA GeForce 6, ATI Radeon X, GeForce 7 ¨ puffer szimultan ´ renderelese ´ Tobb 64bites pipeline PCIe busz
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2004) 5. Generaci
NVIDIA GeForce 6, ATI Radeon X, GeForce 7 ¨ puffer szimultan ´ renderelese ´ Tobb 64bites pipeline PCIe busz ¨ memoria, ´ ´ Tobb hosszabb csucspont arnyal o´ programok ´
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2004) 5. Generaci
NVIDIA GeForce 6, ATI Radeon X, GeForce 7 ¨ puffer szimultan ´ renderelese ´ Tobb 64bites pipeline PCIe busz ¨ memoria, ´ ´ Tobb hosszabb csucspont arnyal o´ programok ´ Shader Model 3.0 (branching and looping in the pixel shader (physics))
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2004) 5. Generaci
NVIDIA GeForce 6, ATI Radeon X, GeForce 7 ¨ puffer szimultan ´ renderelese ´ Tobb 64bites pipeline PCIe busz ¨ memoria, ´ ´ Tobb hosszabb csucspont arnyal o´ programok ´ Shader Model 3.0 (branching and looping in the pixel shader (physics)) HDRI, SLI, TSAA, TMAA
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2007) 6. Generaci
DirectX 10
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2007) 6. Generaci
DirectX 10 Shader Model 4.0 (Unified Shader Model, geometry shader)
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2007) 6. Generaci
DirectX 10 Shader Model 4.0 (Unified Shader Model, geometry shader) Unified Shading Architecture
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2007) 6. Generaci
DirectX 10 Shader Model 4.0 (Unified Shader Model, geometry shader) Unified Shading Architecture Shading performance 2x pixel, 12x vertex above G71
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2007) 6. Generaci
DirectX 10 Shader Model 4.0 (Unified Shader Model, geometry shader) Unified Shading Architecture Shading performance 2x pixel, 12x vertex above G71 700 Mtransistors
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2007) 6. Generaci
DirectX 10 Shader Model 4.0 (Unified Shader Model, geometry shader) Unified Shading Architecture Shading performance 2x pixel, 12x vertex above G71 700 Mtransistors 130W to 300W
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2009-) 7. Generaci
DirectX 11, OpenGL 4.1
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2009-) 7. Generaci
DirectX 11, OpenGL 4.1 Shader Model 5.0 (Compute Shader, Tesselation Shaders: Hull Shader & Domain Shader)
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2009-) 7. Generaci
DirectX 11, OpenGL 4.1 Shader Model 5.0 (Compute Shader, Tesselation Shaders: Hull Shader & Domain Shader) ¨ ´ us ´ Tobbsz all ´ ag
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2009-) 7. Generaci
DirectX 11, OpenGL 4.1 Shader Model 5.0 (Compute Shader, Tesselation Shaders: Hull Shader & Domain Shader) ¨ ´ us ´ Tobbsz all ´ ag ´ asok ´ Dynamic Shader Linkage: OOP jellegu˝ szolgatat HLSL-ben
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2009-) 7. Generaci
DirectX 11, OpenGL 4.1 Shader Model 5.0 (Compute Shader, Tesselation Shaders: Hull Shader & Domain Shader) ¨ ´ us ´ Tobbsz all ´ ag ´ asok ´ Dynamic Shader Linkage: OOP jellegu˝ szolgatat HLSL-ben 3000+ Mtransistors
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika
´ as ´ Textur ´ az
´ ´ ´ Inkrementalis kepszint ezis a GPU-n
´ artya ´ ´ ok ´ Grafikus gyors´ıtok generaci
´ o´ (2009-) 7. Generaci
DirectX 11, OpenGL 4.1 Shader Model 5.0 (Compute Shader, Tesselation Shaders: Hull Shader & Domain Shader) ¨ ´ us ´ Tobbsz all ´ ag ´ asok ´ Dynamic Shader Linkage: OOP jellegu˝ szolgatat HLSL-ben 3000+ Mtransistors 1000 GFLOPs
´ Valasek Gabor
[email protected]
´ ıtog ´ epes ´ Szam´ Grafika