Zanir » Blog Archive » Program 24 – DOT3 bump mapping

Program 24 – DOT3 bump mapping

24.07.2003

024_DOT3_bump_mapping024_DOT3_bump_mapping_3dsDot 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.

zdrojové texty a program – 800kB bez jpeglibm.lib

Pridať komentár