Program 24 – DOT3 bump mapping
24.07.2003
Dot Product 3 Bump Mapping je osvetlenie povrchu po pixeloch. Využíva sa skalárny súčin ( dot product ) pričom sa prevádza po pixeloch. Štandardné osvetlenie v OpenGL sa prevádza po vrcholoch. V každom vrchole sa spočíta farba a tá sa tieňuje na polygóny. Zjednodušený výpočet farby osvetlenia je
farba = ambient + (N.L)xDifuznaFarba + (N.H)^SpecExp x SpecularFarba
Kde ambient je okolité osvetlenie
(N.L)xDifuznaFarba je difúzna zložka osvetlenia. N je normálový vektor, L je vektor k svetlu. Pre difúzne osvetlenie platí, že nezávisý od smeru pohľadu pozorovateľa
(N.H)^SpecExp x SpecularFarba tvorý zrkadlovú zložku osvetlenia. Vektor H = normalizovaný[ (vektor od vrchola ku očiam) + (vektor od vrchola k svetlu) ]
Členy N.L a N.H môžeme vypočítať po pixeloch. Vektor N je reprezentovaný textúrou a vektory L a H spočítame v každom vrchole a lineráne interpolujeme. Výsledkom je osvetlenie po pixeloch.
Program vyžaduje rozšírenia: GL_ARB_multitexture, GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3.