„Számítógépes grafika házi feladat tutorial” változatai közötti eltérés
| 1 135. sor: | 1 135. sor: | ||
** Elég nagy problémát okoz, hogy ebben a képletben a bemenet és a kimenet is hullámhossz függő. Egy lehetséges egyszerűsítés, hogy mi csak három kitüntetett színre (a pirosra a zöldre és a kékre) számoljuk ki a képlet eredményét, és ezt ezzel megszorozzuk az RGB színskálán leírt színünket. | ** Elég nagy problémát okoz, hogy ebben a képletben a bemenet és a kimenet is hullámhossz függő. Egy lehetséges egyszerűsítés, hogy mi csak három kitüntetett színre (a pirosra a zöldre és a kékre) számoljuk ki a képlet eredményét, és ezt ezzel megszorozzuk az RGB színskálán leírt színünket. | ||
** Ez közvetlenül a Maxwell-egyenletekből levezethető, bár az eredmény, a [http://hu.wikipedia.org/wiki/Fresnel-egyenletek Fresnel-egyenletek] jóval bonyolultabb, mint amit mi használni szeretnénk. | ** Ez közvetlenül a Maxwell-egyenletekből levezethető, bár az eredmény, a [http://hu.wikipedia.org/wiki/Fresnel-egyenletek Fresnel-egyenletek] jóval bonyolultabb, mint amit mi használni szeretnénk. | ||
*** Én csak a képletnek egy közelítését írom itt le, ami eltekint a | *** Én csak a képletnek egy közelítését írom itt le, ami eltekint a polarizációtól, mert a grafikában általában ezt szokták használni. (Én a [http://en.wikipedia.org/wiki/Schlick%27s_approximation Schlick's approximation] kiegészített alakját alakját fogom használni, lásd pl. [http://http.developer.nvidia.com/GPUGems3/gpugems3_ch17.html GPU Gems 3]) | ||
**** n - törésmutató (RGB vektor) | **** n - törésmutató (RGB vektor) | ||
**** k - kioltási tényező (RGB vektor) | **** k - kioltási tényező (RGB vektor) | ||
**** F0 - egy az anyagra jellemző konstans | **** F0 - egy az anyagra jellemző konstans | ||
| 1 144. sor: | 1 144. sor: | ||
***** F(theta) = F0 + (1-F0) * pow(1-cos(theta), 5) | ***** F(theta) = F0 + (1-F0) * pow(1-cos(theta), 5) | ||
<br/> | <br/> | ||
Pl: | |||
<br/> <syntaxhighlight lang="c"> | <br/> <syntaxhighlight lang="c"> | ||