Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Számítógépes grafika DirectX 5. gyakorlat. Emlékeztető Háromdimenziós alapok befejezése Textúrázás.

Hasonló előadás


Az előadások a következő témára: "Számítógépes grafika DirectX 5. gyakorlat. Emlékeztető Háromdimenziós alapok befejezése Textúrázás."— Előadás másolata:

1 Számítógépes grafika DirectX 5. gyakorlat

2 Emlékeztető Háromdimenziós alapok befejezése Textúrázás

3 Tartalom 1. Megvilágítás 2. Indexelt primitívek

4 M egvilágítási modell A fény különböző típusú anyagokkal történő interakcióját más-más modellekkel fogjuk vizsgálni A végső megvilágítás közelítésünk ezek összegéből fog adódni

5 Emisszív modell emissive = Ke

6 Környezeti megvilágítás ambient = Ka x globalAmbient

7 Diffúz megvilágítás diffuse = Kd x lightColor x max(N · L, 0)

8 Fényvisszaverő modell specular = Ks x lightColor x (max(N · H, 0))^(shininess)

9 Fényvisszaverő modell specular = Ks x lightColor x (max(N · H, 0))^(shininess)

10 Fényvisszaverő modell

11 Összegezve

12 Shader parancsok pow(a, b): a-t a b-edik hatványra emeli max(a, b): visszaadja az a és b közül a nagyobbikat saturate(a): az a értékét 0 és egy közé viszi így: (a 1) ? 1 : a ) reflect(a, b): az a beesési irányból b felületi normálissal rendelkező felületi pontba beeső (fény)sugár visszaverődési iránya

13 Shader parancsok mul(A, x): az A mátrixot összeszorozza az x vektorral (DE: más sorrendben is beírhatóak, de mi így használjuk!) tex2D( sampler2D texture, float2 t): a textúránk t paraméterhez tartozó színértékét adja vissza (mintavételezi a textúrát a beállított szűrök segítségével az adott pontban, ezért sampler2D a textúra típusának neve)

14 Shader parancsok dot(a, b): a és b vektorok skaláris szorzatát adja vissza cross(a, b): a és b vektorok vektoriális szorzatát adja vissza normalize(a): az a/||a|| -t adja vissza a * b: a és b vektorokat összeszorozza komponensenként, az eredmény tehát float4 típusú a és b esetén ( a.x*b.x, a.y*b.y, a.z*b.z, a.w*b.w) lesz

15 Swizzle Vektorokkal:.x, y, z, w, a, r, g, b:  float4 vec1 = float4(4.0, -2.0, 5.0, 3.0);  float2 vec2 = vec1.yx; // vec2 = (-2.0, 4.0)  float scalar = vec1.w; // scalar = 3.0  float3 vec3 = scalar.xxx; // vec3 = (3.0, 3.0, 3.0) Mátrixokban is swizzle: _m[row][col]  myFloatVec4 = myMatrix._m00_m11_m22_m33;

16 Feladat 1. Valósítsuk meg a négy fenti modellt, innen indulva: http://people.inf.elte.hu/valasek/bevgraf/05/0 1_LightingStartup.zip http://people.inf.elte.hu/valasek/bevgraf/05/0 1_LightingStartup.zip 2. Legyen a textúrának is hatása a végső színre 3. Két piramis legyen a színtéren, a második legyen másfélszer akkora, mint az első és 45 fokkal elforgatott az Y tengely körül pozitív irányban, eltolva (15,0,15)-tel

17 Tartalom 1. Megvilágítás 2. Indexelt primitívek (ld. dx_gy7.ptt)


Letölteni ppt "Számítógépes grafika DirectX 5. gyakorlat. Emlékeztető Háromdimenziós alapok befejezése Textúrázás."

Hasonló előadás


Google Hirdetések