Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaVeronika Soósné Megváltozta több, mint 10 éve
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)
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.