számítógépes grafika megvilágítás
DESCRIPTION
Számítógépes Grafika Megvilágítás. Programtervező informatikus ( esti ) . Információk. Gyakorlati diák: http://people.inf.elte.hu/valasek/bevgraf_esti/ E-mail: [email protected]. Megvilágítás. A minél élethűbb megjelenítés egyik legfontosabb kérdése - PowerPoint PPT PresentationTRANSCRIPT
Számítógépes GrafikaMegvilágítás
Programtervező informatikus (esti)
Információk
Gyakorlati diák: http://people.inf.elte.hu/valasek/bevgraf_esti/
E-mail: [email protected]
Megvilágítás
• A minél élethűbb megjelenítés egyik legfontosabb kérdése
• A fény viselkedésének minél élethűbb szimulálása
• Rendkívül számításigényes - több egyszerűsített modell van
Előre renderelt/valós idejű
Megvilágítás
A végső pixelszín függ: Az objektum anyagától (material) és
textúrájától az adott pontban A fényforrások által kibocsátott fény
intenzitásától és színétől
Anyagjellemzők
• Meghatározzák, hogy az adott felület miként veri vissza, vagy bocsájt ki fényt
• A különböző típusú megvilágítási formákkal szemben más és más módon viselkedhet
Ambiens modell
• Szórt megvilágítás egyszerűsített modellje• Egyfajta állandó háttérmegvilágítás• A fényforrás és az anyag színére van
szükség:– ambientLight(v1, v2, v3) :
• A v1, v2, v3 a fény színkomponensei
– ambient(v1, v2, v3):• Az anyag viselkedését írja le szórt megvilágítással
szemben
Diffúz modell
• Érdes felületre beeső fény vizsgálata• Minél inkább eltér a fény beesési szöge a
felületi normálistól, annál kisebb a fény hatása a végső szín meghatározásában
Diffúz modell
• Megadásához egyrészt szükség van a színekre:– A különböző fényforrások létrehozásakor a
paraméterekben megadott szín a diffúz érték lesz
– Alakzatok rajzolásakor pedig a fill() paraméterében szereplő érték lesz az anyag színe
Fényfoltképző
• „Csillanás”• A nézőpont minél közelebb van az ideális
visszaverődés szögéhez annál inkább csillan• A szín beállítása:
– lightSpecular(v1, v2, v3) megadja a fényforrás fényfoltképző színét
– specular(v1, v2, v3) az anyag színét• Hatás módosítása:
– shininess(float): mennyire csillogjon
Felületi normális
• Az ambiens modellen kívül szükség van a felületi normálisra is
• A primitívek (háromszögek) csúcspontjai segítségével vektoriális szorzatokként kiszámolhatóak
Ambiens fényforrás
• ambientLight(v1, v2, v3, x, y, z):– Szín, pozíció (ne legyen végtelen hatás)
size(400, 400, P3D);background(0);noStroke();ambientLight(51, 102, 126);translate(80, 200, 0);sphere(120);translate(240, 0, 0);sphere(120);
Pontszerű fényforrás
• pointLight(v1, v2, v3, x, y, z)– (v1, v2, v3) színű, (x, y, z) koordinátájú
fényforrás– Minden irányban egyenlő intenzitással bocsájt
ki fényt
size(100, 100, P3D);background(0);noStroke();pointLight(51, 102, 126, 35, 40, 36);translate(80, 50, 0);sphere(30);
Irányított fényforrás
• directionalLight(v1, v2, v3, nx, ny, nz):– (nx, ny, nz) a fénycsóvák közös iránya– „végtelen távoli fényforrás”
size(100, 100, P3D);background(0);noStroke();directionalLight(51, 102, 126, 0, -1, 0);translate(80, 50, 0);sphere(30);
Fényfoltképző fényforrás
• spotLight( v1, v2, v3, x, y, z, nx, ny, nz, angle, concentration)
size(100, 100, P3D);background(0);noStroke();spotLight(51, 102, 126, 80, 20, 40, -1, 0, 0, PI/2, 2);translate(20, 50, 0);sphere(30);
Fénykezelés
• lights():– Bekapcsolja a megvilágítási modelleket,
feltölti a szükséges paramétereket alapértelmezett értékekkel
• noLights():– Kikapcsolja azokat
Színek
• Amikor három komponenssel adunk meg színeket kétféle értelmezés van:– RGB– HSB
• Választás:– colorMode(mode, range1, range2, range3,
range4)• mode: RGB vagy HSB• rangei: a megfelelő komponens intervalluma (4=a)