Лекция 4::Задача 3
- Forums:
Повече от една светлина
Да се реализира възможността да имаме повече от една светлина в сцената (т.е. позициите и интензитетите да се пазят в масив, по подобие на nodes[]/geometries[]/... масивите).
Сенките трябва да работят коректно (т.е. ако дадена област е в сянка само за една от светлините, то не трябва да бъде черна). Аранжирайнте сцена с 2 или повече светлини.
Точки: 6т.
Comments
Какво е значението на
Какво е значението на променливите NdotL и RdotV? Как точно се променя формулата за specular и non-specular component като използваме повече на брой лампи? До сега изпробвах няколко модификации на дадената формула, но се получава или "насичане", без да има плавно преливане между полусенките, или пък получения образ е неверен от физическа гледна точка, ако може - пратете нещо адекватно.
Очаква се нещо подобно: click
Очаква се нещо подобно:
click me
Иначе:
NdotL е скаларното произведение между векторите N и L, които са, респективно, нормалният вектор на геометрията в пресечната точка; и векторът, който сочи към светлинния източник.
RdotV е скаларното произведение между векторите R и V, които са, респективно, отразеният от повърхността на геометрията светлинен вектор (т.е. отразеният на L); векторът, който сочи към камерата (иначе казано обратния на ray.dir).
Всички вектори са нормирани.
При много светлини, всяка от тях си има отделно L и отделно проверяване за сянка. Формулата за единична светлина не се променя, просто резултатите от светлините се сумират.