„Számítógépes grafika házi feladat tutorial” változatai közötti eltérés
a Néhány túlságosan "népszerű" példaprogramot ki kellett vennem. Elnézést a következő félév hallgatóitól, hogy másik miatt szívnak :( |
|||
557. sor: | 557. sor: | ||
A görbéknek a képletét nem szokás fejből tudni, bár általában könnyen levezethetőek. Az a tapasztalat a korábbi házikból, hogy azoknak a görbéknek a képlete benne szokott lenni az előadásdiákba, amiket a házihoz használni kell. Sőt, amikor több görbét kell használni, akkor általában legalább az egyiknek pszeudokóddal meg is szokták adni az implementációját is. | A görbéknek a képletét nem szokás fejből tudni, bár általában könnyen levezethetőek. Az a tapasztalat a korábbi házikból, hogy azoknak a görbéknek a képlete benne szokott lenni az előadásdiákba, amiket a házihoz használni kell. Sőt, amikor több görbét kell használni, akkor általában legalább az egyiknek pszeudokóddal meg is szokták adni az implementációját is. | ||
Példaprogram: | Példaprogram: ''<Törölve, túl sokan másolták>'' | ||
http://i.imgur.com/C1iKaHx.gif | http://i.imgur.com/C1iKaHx.gif | ||
902. sor: | 902. sor: | ||
</syntaxhighlight> <br/> | </syntaxhighlight> <br/> | ||
Az eddigi elmélet összerakva egy programmá: | Az eddigi elmélet összerakva egy programmá: ''<Törölve, túl sokan másolták>'' | ||
<br/> | <br/> | ||
Az sugárkövetés eredménye(baloldalt), összehasonlítva azzal, amit az OpenGL tud (glutSolidCube, jobboldalt), hasonló beállítások mellett: | Az sugárkövetés eredménye(baloldalt), összehasonlítva azzal, amit az OpenGL tud (glutSolidCube, jobboldalt), hasonló beállítások mellett: | ||
968. sor: | 968. sor: | ||
Ezen változtassuk, rakjuk rá a kockát valami talajra, hogy ne lebegjen (így legalább csak a talaj lebeg, nem a kocka), és használjunk valami hihetőbb háttérszínt, mint a teljesen fekete, a megvilágítás szemléltetéséhez. | Ezen változtassuk, rakjuk rá a kockát valami talajra, hogy ne lebegjen (így legalább csak a talaj lebeg, nem a kocka), és használjunk valami hihetőbb háttérszínt, mint a teljesen fekete, a megvilágítás szemléltetéséhez. | ||
Például: | Például: ''<Törölve, túl sokan másolták>'' | ||
http://i.imgur.com/16ohvtS.jpg <br/> | http://i.imgur.com/16ohvtS.jpg <br/> | ||
1 014. sor: | 1 014. sor: | ||
</syntaxhighlight> <br/> | </syntaxhighlight> <br/> | ||
Példaprogram: | Példaprogram: ''<Törölve, túl sokan másolták>'' | ||
<br/> | <br/> | ||
1 160. sor: | 1 160. sor: | ||
A spekuláris megcsillanások nagyon sokat tudnak dobni egy kép hihetőségén. | A spekuláris megcsillanások nagyon sokat tudnak dobni egy kép hihetőségén. | ||
Például: | Például: ''<Törölve, túl sokan másolták>'' | ||
http://i.imgur.com/uCHgf9g.jpg | http://i.imgur.com/uCHgf9g.jpg | ||
1 222. sor: | 1 222. sor: | ||
</syntaxhighlight> <br/> | </syntaxhighlight> <br/> | ||
Példaprogram: | Példaprogram: ''<Törölve, túl sokan másolták>'' | ||
http://i.imgur.com/jwtHLsb.jpg | http://i.imgur.com/jwtHLsb.jpg | ||
1 270. sor: | 1 270. sor: | ||
Az 'n' és 'k' paraméterek az anyagra jellemzőek, általában a házi kiírásban meg vannak adva. Például ezüst esetén n = (0.14, 0.16, 0.13), k = (4.1, 2.3, 3.1) | Az 'n' és 'k' paraméterek az anyagra jellemzőek, általában a házi kiírásban meg vannak adva. Például ezüst esetén n = (0.14, 0.16, 0.13), k = (4.1, 2.3, 3.1) | ||
Példaprogram: | Példaprogram: ''<Törölve, túl sokan másolták>'' | ||
http://i.imgur.com/vJKsR53.jpg | http://i.imgur.com/vJKsR53.jpg | ||
1 311. sor: | 1 311. sor: | ||
A Fresnelhez használandó beesési szög, az jelen esetben a félszög vektor és a nézeti vektor között értendő. Azért ez a két vektor kell nekünk, mert a visszaverődésben résztvevő mikro-tükröknek a félszög vektor a felületi normálja, és a nézeti irányba verődnek vissza. Tehát egyszerűen a spekuláris megcsillanás színét meg kell szoroznunk a <code> F(max(dot(V, H), 0.0f)) </code> vektorral. | A Fresnelhez használandó beesési szög, az jelen esetben a félszög vektor és a nézeti vektor között értendő. Azért ez a két vektor kell nekünk, mert a visszaverődésben résztvevő mikro-tükröknek a félszög vektor a felületi normálja, és a nézeti irányba verődnek vissza. Tehát egyszerűen a spekuláris megcsillanás színét meg kell szoroznunk a <code> F(max(dot(V, H), 0.0f)) </code> vektorral. | ||
Példaprogram: | Példaprogram: ''<Törölve, túl sokan másolták>'' | ||
Ha az F0-ra az üvegre jellemző 0.04f-re választjuk meg, az ilyen hatást eredményez: | Ha az F0-ra az üvegre jellemző 0.04f-re választjuk meg, az ilyen hatást eredményez: | ||
1 346. sor: | 1 346. sor: | ||
Egy kis trükkre azonban szükségünk van. a pontfényforrások távolságfüggéséhez ugyanis követnünk kell, hogy a sugár összesen mennyi utat tett meg eddig. | Egy kis trükkre azonban szükségünk van. a pontfényforrások távolságfüggéséhez ugyanis követnünk kell, hogy a sugár összesen mennyi utat tett meg eddig. | ||
Példaprogram: | Példaprogram: ''<Törölve, túl sokan másolták>'' | ||
A spekuláris tükör fizikailag nem túl korrekt, de jól néz ki. Például ilyen hatást lehet vele elérni: | A spekuláris tükör fizikailag nem túl korrekt, de jól néz ki. Például ilyen hatást lehet vele elérni: | ||
1 364. sor: | 1 364. sor: | ||
De irányfényforrásokra sokkal hihetőbb hatást ér el az ötlet. | De irányfényforrásokra sokkal hihetőbb hatást ér el az ötlet. | ||
Például: | Például: ''<Törölve, túl sokan másolták>'' | ||
http://i.imgur.com/BxeEztT.jpg | http://i.imgur.com/BxeEztT.jpg | ||
1 444. sor: | 1 444. sor: | ||
</syntaxhighlight> <br/> | </syntaxhighlight> <br/> | ||
Példaprogram: | Példaprogram: ''<Törölve, túl sokan másolták>'' | ||
{| | {| | ||
|- | |- | ||
1 477. sor: | 1 477. sor: | ||
A törő és tükröző anyagok pont ugyan úgy lépnek kölcsönhatásba a fotonokkal, mint ahogy a sugarakkal is. Ennek az implementáláshoz semmi új ötlet nem kell. | A törő és tükröző anyagok pont ugyan úgy lépnek kölcsönhatásba a fotonokkal, mint ahogy a sugarakkal is. Ennek az implementáláshoz semmi új ötlet nem kell. | ||
Például egy felülről megvilágított üvegkocka így szórja a fényt: | Például egy felülről megvilágított üvegkocka így szórja a fényt: ''<Törölve, túl sokan másolták>'' | ||
{| | {| | ||
1 498. sor: | 1 498. sor: | ||
* Az árnyékok széle recésebb lesz. A bilineáris szűrés miatt a globális illumináció pontosabban határozza meg az árnyékok szélét, mint az a módszer, amit a lokális illuminációnál használtunk. | * Az árnyékok széle recésebb lesz. A bilineáris szűrés miatt a globális illumináció pontosabban határozza meg az árnyékok szélét, mint az a módszer, amit a lokális illuminációnál használtunk. | ||
Példaprogram: | Példaprogram: ''<Törölve, túl sokan másolták>'' | ||
A korábbi jelenet, csak kétirányú (bal oldalt) és baloldalt (jobb oldalt) sugárkövetéssel, mindkét esetben 500 000 fotonnal | A korábbi jelenet, csak kétirányú (bal oldalt) és baloldalt (jobb oldalt) sugárkövetéssel, mindkét esetben 500 000 fotonnal |