Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaDiána Soósné Megváltozta több, mint 10 éve
1
Számítógépes grafika, PPKE-ITK, Benedek Csaba, 2010 Színek és megvilágítás 5. előadás
2
Fotometriai alapok Fényforrás jellemzője: spektrális energia eloszlás időegységre eső kibocsátott energia (tehát: teljesítmény) „sűrűsége” az adott hullámhosszon (analógia: folytonos valószínűségi változó sűrűségfüggvénye) A fényforrás által kibocsátott össz teljesítmény:
3
Színelméleti alapok Fény - Színérzet elektromágneses hullám, monokromatikus fény: csak egyféle hullámhosszú összetevő érzéklés 3 érzékelővel: tristimulus értékek ugyanazt a színérzetet többféle keverék- fénynyaláb is adhatja
4
Színérzékelés: monokromatikus fény színérzet: r, g, b 400700500600 r(r( g(g( b(b( r, g, b 645526444 nm 1 2
5
Színérzékelés: nem monokromatikus fény r = r d g = g d b = b d
6
Spektrális színkezelés model Képszintézis sok hullámhosszon R, G, B kép Látható spektrum R, G, B színillesztés
7
Nem spektrális színkezelés model Képszintézis 3 hullámhosszon R,G,B kép R, G, B színillesztés R, G, B színillesztés ??? R, G, B Akkor pontos, ha képszintézis „lineáris”
8
Színek definiálása
9
Képszintézis = valós világ illuziója Tone mapping Valós világszínérzet pixelVirtuális világ
10
Anyagok a 3D grafikában Emittáló anyagok - fényt kibocsátanak ki „fényforrás” Diffúz felületek ~ „matt” anyagok minden irányban ugyanúgy verik vissza a fényt Spekuláris vagy tükröző felületek a beérkező fénysugár energiájának jelentős részét az ideális visszaverődési irány környezetébe verik vissza „csillogó” vagy „polírozott” anyagok Átlátszó felületek A beérkező fény energiáját minimális veszteséggel eresztik át Áttetsző felület „homályosan” látunk keresztül rajtuk Összetett anyagok A fentiek „keveréke”- legtöbb valós anyag ilyen Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME
11
Fényforrások Pontszerű fényforrás Intenzitás a távolság négyzetének arányában csökken Irány fényforrás Irány és intenzitás a tér minden pontjában azonos Ambiens fényforrás Minden pontban és irányban azonos intenzitású Szpotlámpa Jellemzői: helye, iránya, kúpos hatóterület Égbolt fény Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME
12
l Geometria+sugárűsűség: l Absztrakt fényforrások: –Irány fényforrások: egyetlen irányba sugároz, a fénysugarak párhuzamosak, az intenzitás független a pozíciótól –Pozicionális fényforrás: egyetlen pontból sugároz, az intenzitás a távolság négyzetével csökken Fényforrás modellek iránypozicionális d L e (x,V, ) V x
13
Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME Térbeli irányok definíciója l 2D szög = az egységkör ívének hossza l tartalmazott irányok a körcikk ívének csúcsába mutatnak l 3D szög (térszög): az egységgömb felületének a része Felületelem láthatósági szöge d dA cos / r 2
14
Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME Fény erősség jellemzése Fluxus egységnyi idő alatt, adott hullámhossz tartományban átadott energia [mértékegység: W Watt] Radiancia (intenzitás), L: dA felületelemet d szögben elhagyó d fluxus osztva a kilépési irányból látható területtel és a térszöggel Egy egységnyi látható felület által egységnyi térszög alatt kibocsátott teljesítmény [Watt/ sr/ m 2 ] dd dAdA dd L(x, V ) = V d dA cos d
15
L(x, V ) = L in (x, L) f r (L,x,V) cos ’ BRDF: Bi-directional Reflection Distribution Function Sugársűrűség = Bejövő BRDF Geometria x Fény-felület kölcsönhatás ’’ ’’ L in f r (L,x,V) = f r (V,x,L) Helmholtz törvény: V L f r (L,x,V) = L (x,V) L in (x,L)cos ’ def
16
Spektrális versus RGB képszintézis KépszintézisSzínleképzés LeLe f r R, G, B Színleképzés Képszintézis LeLe f r R, G, B Színleképzés L e [r], L e [g], L e [b] f r [r], f r [g], f r [b] lineáris szorzás Spektrális RGB
17
Anyagmodellek- diffúz anyagok Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME l Radiancia = Bejövő BRDF cos ’ l Diffúz anyag: a BRDF a nézeti iránytól független l Helmholtz: a BRDF megvilágítási iránytól is független l A BRDF l Diffúz visszaverődés = nagyon rücskös –sokszoros fény-anyag kölcsönhatás –Színes - pl R, G és B komponensekre külön számítás f r, (L,x,V) = k d, (x) ’’ L N V x L (x, V, ) = L in (x, L) f r, (L,x,V) cos ’
18
Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME Lambert törvény l Pont/irány fényforrásra válasz –BRDF irányfüggetlen, DE a sugársűrűség függ a megvilágítási iránytól L ref = L in k d cos + ’ ’’ L N cos ’ N·L
19
’’ n =n = sin ’ sin ’’ Sima felületek Fresnel egyenletek L in F L in (1-F) L in „Sima” = 1 pixelben látható felület síknak tekinthető Ideális tükör/törő felület: csak a tükör/törés irányban veri vissza a fényt. Elnyelés nagysága az anyag F( ’) Fresnel együtthatójától függ – jelentős függés a megvilágítás irányától és a hullámhossztól!
20
Fresnel függvény ’’ ’’ arany ezüst F (, ’)
21
Tükörirány számítása v r = v + 2 N cos vrvr v v + N cos N N cos L = v r, V= v ReflectDir( L, N, V ) { L = V - N * (N * V) * 2; } cos = - ( v ·N) x
22
Törési irány v t = v n + N (cos n - 1-(1-cos 2 )/n 2 ) vtvt v v + Ncos N NN N sin -Ncos v Ncos sin N =N = n =n = sin Snellius- Descartes v t = N sin Ncos v t = v n + N (cos n cos ) cos 1-sin 2 1-sin 2 /n 2
23
Fénytörő anyagok
24
Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME Spekuláris visszaverődés: Phong modell ’’ ’’ V R = diffúz + Kell egy függvény, ami nagy =0 -ra és gyorsan csökken L ref = L in k s ( cos + n f r (L,x,V) = k s cos n cos ’ Nem szimmetrikus! cos R·V R V
25
„Rücskös” felületek ’’ Cook-Torrance He-Torrance 1 pixelben látható felület Mi: viselkedésileg érvényes modell
26
Diffúz+Phong anyagok 5 10 20 50n = diffúz Phong diffúz + Phong Egyszeres fény- anyag kölcsönhatás, nemfémeknél hullámhossz független Sokszoros fény-anyag kölcsönhatás „Saját szín”
27
Phong-Blinn modell (OpenGL) H = (L+V)/|L+V| ’’ Felezővektor V L H cos · L ref = L in k s ( cos + n f r (L,x,V) = k s cos n cos ’ N
28
Képszintézis pixelVirtuális világ f r LeLe l Pixelben látható felület meghatározása l A látható pont szem irányú sugársűrűsége L L L L R, G, B
29
Megoldási kompromisszumok pixel lokális illumináció rekurzív sugárkövetés globális illumináció
30
Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME Sugárkövetés: ray-casting, ray-tracing
31
Sugárkövetés A képernyő pixeleire egymástól függetlenül oldja meg a takarási és árnyalási feladatot szimuláljuk a fény terjedését, a fénysugarak és felületek ütközését fotonkövetés: szemből indul, a fény útját visszafele rekurzívan követjük Ingyenes sugárkövető program: Pov-Ray (http://www.povray.org)
32
Sugárkövetés Egyszerűsített illuminációs modell csak az ideális (koherens) visszaverődési/törési irányokra számol többszörös visszaverődést illetve törést inkoherens komponensek: elhanyagolja az indirekt megvilágítást, csak az absztrakt fényforrások direkt hatását veszi figyelembe
33
Lokális illumináció absztrakt fényforrásokkal pixel L (V) l L l (L l )* f r (L l,N,V) cos ’ Csak absztrakt fényforrások direkt megvilágítása LlLl V N ’’ l l Absztrakt fényforrásokból származó megvilágítás. (Irányforrás = konstans; Pontforrás = távolság négyzetével csökken Ha takart, akkor zérus)
34
Lokális illumináció absztrakt fényforrásokkal pixel L (V) l L l (L l )*{k d (L l N) + +k s ((H l N) + ) shine } LlLl V NHlHl Csak absztrakt fényforrások direkt megvilágítása Absztrakt fényforrásokból származó megvilágítás. (Irányforrás = konstans; Pontforrás = távolság négyzetével csökken Ha takart, akkor zérus)
35
Ambiens tag Lokális illumináció + ambiens tag GI l L (V) l L l (L l )* f r (L l,N,V) cos ’ + k a *L a
36
Lokális illumináció árnyék nélkül pixel l Láthatóság számítás a szemből l A fényforrás fényének visszaverése a nézeti irányba: felületi normális
37
Láthatóság a szemből pixel ray(t) = eye + v·t, t > 0 FirstIntersect(ray t, iobject, x) t = FLT_MAX; FOR each object tnew = Intersect( ray, object );// < 0 ha nincs metszés IF (tnew > 0 && tnew < t ) { t = tnew; iobject = object; } ENDFOR IF (t < FLT_MAX) { x = eye + v·t; RETURN (t, iobject, x); } RETURN „no intersection” END eye
38
Metszéspont számítás gömbbel |ray(t) – center| 2 = (ray(t) – center) (ray(t) – center)=R 2 Felületi normális: (ray(t) – center)/R center R |r – center| 2 = R 2 r (v v)t 2 +2 ((eye – center) v)t +((eye – center) (eye – center))–R 2 = 0 Wanted: a pozitív megoldások közül a kisebb Nincs gyök 1 gyök 2 gyök ray(t) = eye + v·t
39
(,, ) ( x-x*, y-y*, z-z* ) = 0 Implicit felületek A felület pontjai: f(x,y,z) = 0 vagy f(r) = 0 A sugár pontjai: ray(t) = eye+v·t A metszéspont: f( ray(t) ) = 0, 1 ismeretlenes, ált. nemlineáris egyenlet: t* (x*,y*,z*) = eye+ v·t* Normálvektor = grad f 0=f(x,y,z) = f(x*+(x-x*),y*+(y-y*),z*+(z-z*)) f(x*,y*,z*) + (x-x*)+ (y-y*)+ (z-z*) fxfx fyfy fzfz fxfx fyfy fzfz Az érintősík egyenlete: x*,y*,z*
40
+ + -1=0 Kvadratikus felületek xyz1xyz1 [x,y,z,1] A = 0Kvadratikus felület: Másodfokú egyenlet Ellipszoid x 2 y 2 z 2 a 2 b 2 c 2 + - z 2 =0 Végtelen kúp x 2 y 2 a 2 b 2 Végtelen henger x 2 y 2 a 2 b 2 + - 1 =0
41
Háromszög 1. Síkmetszés: (ray(t) - r1) n = 0, t > 0 normál: n = (r2 - r1) (r3 - r1) 2. A metszéspont a háromszögön belül van-e? ((r2 - r1) (p - r1)) n > 0 ((r3 - r2) (p - r2)) n > 0 ((r1 - r3) (p - r3)) n > 0 r1 r2 p r3 Felületi normális: n vagy árnyaló normálok (shading normals) p n r3 r2 t = (r1- eye) n v n ray(t) = eye + v·t (r – r0) n = 0
42
Árnyaló normálok N1N1 N2N2 N3N3 N N = A X + B Y + C (X 1, Y 1, Z 1 ) N 1 = A X 1 + B Y 1 + C N 2 = A X 2 + B Y 2 + C N 3 = A X 3 + B Y 3 + C 3 változós lineáris egyenletrsz. A, B, C közelített felület normálvektora
43
Parametrikus felületek r(u,v), u,v in [0,1] ray(t) = eye + v·t, t > 0 r(u,v) = ray(t) Háromismeretlenes ált. nem lineáris egyenletrendszer megoldás: u*,v*,t* Teszt: 0< u*,v* < 1, t* > 0 Rekurzív tesszelláció: nem robusztus r(0.5,0.5) r(0,0) r(0,1) r(1,1) r(1,0) r(0,0.5) r(0.5,0)
44
Parametrikus felületek normálvektora r(u,v) r(u*,v) r(u,v*) r(u*,v*) r(u*,v) v v=v* r(u,v*) u u=u* n(u,v)= r(u,v) u r(u,v) v u=u* v=v*
45
Ray-casting képek Lokális illumináció Lokális illumináció + árnyékok
46
Rekurzív sugárkövetés LlLl Árnyék sugár Tükör sugár Tört sugár L (V) l L l (L l )*(k d (L l N) + +k s ((H l N) + ) shine )+k a *L a + k r *L in (R) + k t *L in (T) Tükör irányból érkező fény Törési irányból érkező fény R T Fresnel 1-Fresnel V
47
Render( ) for each pixel p Ray r = ray( eye pixel p ) color = Trace(ray) WritePixel(p, color) endfor end ray color p p Sugárkövetés (Ray-tracing) eye
48
Sugárkövetés: Trace függvény Color Trace( ray ) IF (FirstIntersect(ray obj, x) < 0) RETURN L a ENDIF color = DirectLightSource(x, ray.v, obj) IF ( obj.mirror ) ReflectDir( ray, reflected ray) color += obj.k r * Trace( reflected ray ) ENDIF IF ( obj.refractive && RefractDir( ray, refracted ray ) ) color += obj.k t * Trace( refracted ray ) ENDIF RETURN color ray x
49
Color Trace( ray, d ) IF (d > dmax) RETURN L a IF (FirstIntersect(ray obj, x) < 0) RETURN L a ENDIF color = DirectLightSource(x, ray.v, obj) IF ( obj.mirror ) ReflectDir( ray, reflected ray) color += obj.k r * Trace( reflected ray, d+1 ) ENDIF IF ( obj.refractive && RefractDir( ray, refracted ray ) ) color += obj.k t * Trace( refracted ray, d+1 ) ENDIF RETURN color Sugárkövetés: Trace függvény ray x ray.v-2 N (N ray.v) ray.v/n+N ((N ray.v)/n- 1-(1-(N ray.v) 2 )/n 2 )
50
DirectLightSource DirectLightSource( x, v, obj ) color = obj.k a *L a FOR each lightsource l DO shadowray.eye = x; shadowray.v = light[l].pos – x; (t,y) = FirstIntersect( shadowray ); IF (t |x-light[l].pos|) color += light[l].Intensity * (obj.k d (L l N) + + obj.k s ((H l N) + ) obj.shine ) ENDIF ENDFOR RETURN color árnyék x y v
51
Sugárkövető program typedef struct{double x,y,z}vec;vec U,black,amb={.02,.02,.02}; struct sphere{ vec cen,color;double rad,kd,ks,kt,kl,ir}*s, *best,sph[]={0.,6.,.5,1.,1.,1.,.9,.05,.2,.85,0.,1.7,-1.,8.,-.5,1.,.5,.2,1.,.7,.3,0.,.05,1.2,1.,8.,-.5,.1,.8,.8, 1.,.3,.7,0.,0.,1.2,3.,-6.,15.,1.,.8,1.,7.,0.,0.,0.,.6,1.5,-3.,-3.,12.,.8,1., 1.,5.,0.,0.,0.,.5,1.5,};yx; double u,b,tmin,sqrt(),tan();double vdot(A,B)vec A,B; {return A.x*B.x+A.y*B.y+A.z*B.z;}vec vcomb(a,A,B)double a;vec A,B; {B.x+=a* A.x;B.y+=a*A.y;B.z+=a*A.z;return B;} vec vunit(A)vec A;{return vcomb(1./sqrt( vdot(A,A)),A,black);}struct sphere *intersect(P,D)vec P,D;{best=0;tmin=1e30; s= sph+5;while(s-->sph)b=vdot(D,U=vcomb(-1.,P,s->cen)),u=b*b-vdot(U,U)+s->rad*s ->rad,u=u>0?sqrt(u):1e31,u=b-u> 1e-7?b-u:b+u,tmin=u>=1e-7&&u<tmin?best=s,u: tmin;return best;}vec trace(level,P,D)vec P,D;{double d,eta,e;vec N,color; struct sphere*s,*l;if(!level--)return black;if(s=intersect(P,D));else return amb;color=amb;eta=s->ir;d= -vdot(D,N=vunit(vcomb (-1.,P=vcomb(tmin,D,P),s->cen )));if(d sph)if((e=l ->kl*vdot(N, U=vunit(vcomb(-1.,P,l->cen))))>0&&intersect(P,U)==l)color=vcomb(e,l->color,color);U=s->color;color.x*=U.x;color.y*= U.y;color.z*=U.z;e=1-eta* eta*(1-d*d);return vcomb(s->kt,e>0?trace(level,P,vcomb(eta,D,vcomb(eta*d-sqrt (e),N,black))): black,vcomb(s->ks,trace(level,P,vcomb(2*d,N,D)),vcomb(s->kd, color,vcomb(s->kl,U,black))));} main(){printf("%d %d\n",32,32);while(yx<32*32) U.x=yx%32-32/2,U.z=32/2-yx++/32,U.y=32/2/tan(25/114.5915590261), U=vcomb(255., trace(3,black,vunit(U)),black),printf("%.0f %.0f %.0f\n",U);}/*minray!*/
52
Sugárkövetés: eredmény Számítási idő Pixelszám x Objektumszám x (Fényforrás szám+1)
53
Befoglaló térfogat (Bounding Volume) double IntersectBV( ray, object ) // < 0 ha nincs IF ( Intersect( ray, bounding volume of object) < 0) RETURN -1; RETURN Intersect( ray, object ); END
54
Térpartícionáló módszerek Adatstruktúra: Ha ismert a sugár, akkor a potenciális metszett objektumok számát csökkenti Ha a potenciálisak közül találunk egyet, akkor a többi nem lehet közelebb Elő- feldolgozás objektumok Térpartícionáló adatstruktúra Sugár követés Első metszéspont
55
Sugárkövetés: FOR each cell of the line // line drawing Metszés a cellában lévőkkel IF van metszés RETURN ENDFOR átlagos eset komplexitás: O(1 ) Reguláris térháló Előfeldolgozás: Minden cellára a metszett objektumok komplexitás: O(n·c ) = O(n 2 )
56
Sugárkövetés: FOR összes sugár által metszett cellára Metszés a cellában lévőkkel IF van metszés RETURN ENDFOR Nyolcas (oktális) fa Faépítés( cella ): IF a cellában kevés objektum van cellában regisztráld az objektumokat ELSE cellafelezés: c1, c2, …, c8 Faépítés(c1); … Faépítés(c8); ENDIF 2 1 3 Octree 1 2 33
57
Binary Space Partitioning fa (kd-fa) Faépítés( cella ): IF a cellában kevés objektum van cellában regisztráld az objektumokat ELSE sík keresés cella felezés a síkkal: c1, c2 Faépítés(c1); Faépítés(c2); ENDIF Sugárkövetés: FOR each cell intersecting the line Metszés a cellában lévőkkel IF van metszés RETURN ENDFOR kd-tree 2 1 3 1 23
58
Árnyalás az OpenGL-ben Egyszerűsített árnyalási egyenlet ahol a fizikai leírás túl bonyolult, tapasztalati úton bevált képleteket használ használ spekuláris és diffúz visszaverődést, nincs azonban törés és tükrözés bevezeti a diffúz és spekuláris fény fogalmát – ennek a különválasztásnak nincs fizikai jelentése, de a megjelenítéshez nagyobb szabadságot ad Csak a csúcspontokban számít színt többi pontban interpolál a környező csúcspontok színéből
59
Megvilágítás modell void glLightModel{if}{,v}(GLenum pname, TYPE param); pname lehet: GL_LIGHT_MODEL_AMBIENT ambiens RGBA fény az egész színtérben GL_LIGHT_LOCAL_VIEWER lokális vagy végtelenben lévő (default) „nézeti pont” GL_LIGHT_MODEL_TWO_SIDE poligonjainkhoz egy- vagy mindkét oldalon kell megvilágítást számolnunk
60
Fényforrás megadása Fény ki-be kapcsolás: glEnable(GL_LIGHTING); glDisable(GL_LIGHTING) void glLight{if}{,v}(GLenum light, GLenum pname, TYPE param); light: GL_LIGHT0, GL_LIGHT1,..., or GL_LIGHT7 param: különböző paraméterek (lásd köv. slide-ok) Az egyes fényforrásokat is külön engedélyezni kell (azaz bekapcsolni): Pl glEnable(GL_LIGHT0);
61
Fényösszetevők az OpenGL-ben Absztrakt fényösszetevők: objektumok által kibocsátott fény környezeti fény – ambient light - GL_AMBIENT kompenzálja a többszörös visszaverődések elhanyagolását szórt fény - diffuse light - GL_DIFFUSE: iránnyal rendelkezik, mindig valamely fényforrásból jön. Az objektumokkal ütközve minden irányba azonos módon és mértékben verődik vissza csillogás - specular light - GL_SPECULAR van iránya és forrása, hatása nem csak az anyagtulajdonságoktól és a normálisoktól függ, hanem a nézőponttól is
62
Minta „Diffúz fényforrás” megadása: GLfloat light_diffuse[] = { 1.0, 1.0, 1.0, 1.0 }; glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);
63
3 típus: irányforrás konstans fényerősség, adott irány pontszerű forrástól távolodva csökkenő fényerősség k 0,l : GL_CONSTANT_ATTENTUATION k 1,l : GL_LINEAR_ATTENTUATION k 2,l : GL_QUADRATIC_ATTENTUATION szpotlámpa kúpos hatóterület OpenGL fényforrások al =al = 1 k 0,l +k 1,l d l +k 2,l d l 2
64
Fényforrás pozíciója GL_POSITION paraméter a pozíció (x, y, z, w) koordinátai w≠1: pontszerű fényforrás vagy szpotlámpa w=0: végtelenben lévő fényforrás = irányforrás default: (0.0, 0.0, 1.0, 0.0) Példa: pontforrás inicializálás és beállítása: GLfloat light_position[] = { 1.0, 1.0, 1.0, 1.0 }; glLightfv(GL_LIGHT0, GL_POSITION, light_position); glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 2.0); glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 1.0); glLightf(GL_LIGHT0, GL_QUADRATIC_ATTENUATION, 0.5); glEnable(GL_LIGHT0);
65
Spotlight (reflektor) Irány és vágási szög: GL_SPOT_DIRECTION GL_SPOT_CUTOFF Minta kód: glLightf(GL_LIGHT0, GL_SPOT_CUTOFF, 45.0); GLfloat spot_direction[]={-1.0,-1.0, 0.0 }; glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, spot_direction);
66
Anyagtulajdonságok void glMaterial{if}(GLenum face, GLenum pname, TYPE param); face: GL_FRONT, GL_BACK, vagy GL_FRONT_AND_BACK pname: GL_AMBIENT, GL_DIFFUSE, GL_AMBIENT_AND_DIFFUSE, GL_SPECULAR GL_SHININESS (n kitevő a Phong-Blinn illuminációs képletben); GL_EMISSION (az anyag által kibocsátott fény színe – ha van)
67
Gyakorlati feladatok 1. gömb megjelenítése és árnyalása különböző anyagi és megvilágítási jellemzők függvényében Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME
68
Gyakorlati feladatok 2. feladat: mozgó fényforrás szimulálása Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME
69
Gyakorlati feladatok 3. Különböző tulajdonságú gömbök között mozgó fényforrás Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME
70
Gyakorlati feladatok 4. szoba megjelenítő teáskannával Számítógépes Grafika 2010, PPKE ITK, Benedek Csaba Tanagyag forrás ® Szirmay-Kalos László, BME
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.