http://www.decew.net/OSS/references.php вот тут хорошая подборка на эту тему есть
Три нормали на грань в смысле три орты? То есть расчитывать три лайтмэпа для каждого из трех орт на подобие
I_t = max (t*l)
I_b = max (b*l)
I_n = max (n*l)
вы это имеете в виду?
Но, по-моему, имеет смысл тогда записывать значение текселя как (I_t, I_b, I_n). То есть объединить в одну лайтмэпу.
Тогда при рендере мы имеем:
I_result = I_classic * (Nx*I_t + Ny*I_t + Nz* I_n) , где
I_classic = значение освещенности записанное в обычную лайтмэпу
(Nx, Ny, Nz) - значения из карты нормалей
(I_t, I_b, I_n) - значения из directional lightmap
То есть получается, что значения из карты нормалей выступают в виде весовых коэффициентов.
НО это чисто мои догадки =))))
P.S. под directional lightmaps я иное подразумавал всё таки. Просто значения компонент вектора L в каждый тексель лайтмэпы записывать. Естественно предварительно L надо перевести в касательное пространство.
Отредактировано X-ti (2011-02-07 12:21:06)