1 / 17

4.6. A Fénysugár-követés módszere (ray-tracing)

4.6. A Fénysugár-követés módszere (ray-tracing). Mi látható a képernyőn, egy-egy képpontban ? (4.4.LÁTHATÓSÁG) A képponton át a szembe jutó fénysugár melyik tárgyról jön ? És az ott milyen színű ? (4.7. ÁRNYALÁS). 2. Tárgytér-módszerek:. Tárgytér: valódi távolságok és szögek ( N 0 )

sahkyo
Download Presentation

4.6. A Fénysugár-követés módszere (ray-tracing)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 4.6. A Fénysugár-követés módszere(ray-tracing) • Mi látható a képernyőn, egy-egy képpontban ? (4.4.LÁTHATÓSÁG) • A képponton át a szembe jutó fénysugár melyik tárgyról jön ? • És az ott milyen színű ? (4.7. ÁRNYALÁS)

  2. 2

  3. Tárgytér-módszerek: • Tárgytér: valódi távolságok és szögek (N0) • SzKR: szem-(kamera-)KR • Nézetmező: csonkagúla • Közelsík (és távolsík) • Mélységvágás (k,t) • Oldalvágás (2D)

  4. A fénysugár-követés módszere • Fénysugár-követés (ray-tracing) • A tárgytérben (SZKR) • minden K i j képpontban: ott mi látszik? (melyik felület-elem?) • és ott milyen színárnyalat látszik? kiszámítása „megvilágítási módszerrel” • „Valószerű képek” (realistic images) egyik módszere fényforrások, árnyékok, fény-visszaverődés, átlátszó testek

  5. Az FSK eljárás váza • Előtte: VKR  SzKR (tárgytér) , vágás (jelöléssel) • Keret kijelölése; raszter: K i j képpontok • „fénysugarak:” C  K i jX = O + t ·(Ki j - O) = t ·Ki j ; O = (0,0,0) • a legközelebbi felület? (ciklus a laplistán végig) • Ci j = {r, g, b}, megvilágítás • C0; C i : visszaverődés, árnyékok, átlátszó felületek

  6. A kép kerete • A szemtől (O) d (~ 50 cm) távolságra • a  b (~30  40 cm) oldalú • K i jképpontok:i = 0,1,…,umax, j = 0,1,…,vmax xi = - a / 2 + du y j = - b / 2 + dv • for j := 0 to vmax dofor i := 0 to umax dobegin … end; • A fénysugár: X = t · Ki j ; t > 1

  7. A ciklus magja: • // minden i és j-re (azaz: minden képpontra):sugár:„ X= t · Ki j ” ; zxy := zmax; lapxy := háttérlap; // a háttér följegyzéseforeach felületelem dobegin„P(x,y,z, u,v,t):= döféspont”; // -ot keresünkif (van döféspont) thenif z < zxy thenbegin // közelebb van?zxy : = z; lapxy := lap; // a f.elem följegyzéseend; // if-ifend;// foreach lap putPixel(i,j, „a lapxy színe a zxy pontban”); // árnyalás

  8. A metszéspontok kisszámítása • Időben kritikus: minden képpontnál - minden lapra • Felület-elem: háromszög, gömb, másodrendű paraméteres felület, stb. • Sugár és háromszög metszéspontja: a sugár: X= t · Ki ja háromszög: X= Q + u · (P - Q) + v · (R - Q) metszéspont a PQR síkkal: { u, v, t }if ( 0  u, v, u + v  1 ) then // a háromszögön belül • Időben kritikus gyorsítás kell

  9. Gyorsítások • foreach y foreach x foreach lap … • „vágás”: a kereten kívüliek megjelölése • Testek-lapok dobozolása • lapok rendezése legkisebb z szerint • Szabályos (reguláris) térháló • Nyolcasfa • BSP-fa

  10. Megjegyzések • Láthatóság: (i,j)  a Ki j-ben látható háromszög, (x, y, z) • putPixel(i,j, „a lapxy színe a zxy pontban”); // árnyalás az árnyalási modell szerint: Fi j (lap, x, y, z): a képpont színe első közelítés • „Láthatóság”: egy FF látható-e az (x.y.z)-ből !

  11. Rekurzív FSK • „Első ütközés”: a látott pont, színe: a közvetlen megvilágításból • A testek között fény-visszaverődés (és átlátszó testeken fény áthaladás) • Milyen fény esik a látott pontba másokról visszaverten? (A testen áteresztve?)

  12. Rekurzív FSK és fénytörés • Az ideális visszaverődés törvénye: (LN) szög = (SN) szög; egy síkban • A fénytörés törvénye: sin a / sin b = nk / nb; egy síkban • s1: elsődleges sugár: a néző iránya • s2v: másodlagos, visszavert sugárs2a másodlagos, áteresztett sugár; • Jöhet-e fény s2v és s2a felől • Jöhet-e fény ezek felől? • Csak véges számú visszaverést számolunk • Csak az ideális visszaverésiirányt számoljuk

  13. Olvasmány,a rekurzív fskegy eljárásának vázlata:

  14. for j := 0 to ymax dofor i := 0 to xmax dobegins1 := „P= t·Kij”; szin := FSK ( s1 ); putPixel(i,j, szin);end; {for i,j} ColorfunctionFSK(s1:Vector3D);var mpt: Point3D; ksz: Color;begin(mpt,felület):=aLegközelebbi(s1,felületlista);if (nincs mpt) thenFSK :=háttérSzín;elsebeginksz:=megvilágításiModell(felület,mpt); FSK:= ksz; end; {if-else: van mpt}end; {FSK function}

  15. ColorfunctionrFSK(kpt:Point3D; s1:Vector3D; mélység:Integer);var mpt: Point3D; s2v,s2á:Vector3D; ksz,vsz,ász: Color;beginif mélység > korlát then rFSK:=Fekete;elsebegin (mpt,felület):=aLegközelebbi(s1,felületlista);if (nincs mpt) then szín:=háttérSzín;elsebeginksz:=megvilágításiModell(felület,mpt); s2v:=tükrözés(s1,felület,mpt); vsz:=rFSK(metszéspt,s2v,mélység+1); s2t:=megtörés(s1,felület, mpt); ász :=rFSK(mpt,s2t,mélység+1) rFSK{szín}:=kever(ksz,ksúly,vsz,vsúly,ász,ásúly);end; {if-else: van mpt}end; {if-else: mélység<korlát}end; {rFSK function}

More Related