Об трехмерную графику 2
Apr. 13th, 2017 03:53 pm

Неужели никто не заметил, как на последней картинке поста "Об трехмерную графику" пропадает свет (вот она сверху)? Посмотрите, как отражается стенка с дыркой в правом шаре. Она совсем темная, хотя рядом довольно яркий источник света. Нашел ошибку в своей программе, и исправил, конечно.

Чтобы получить цвет освещенной точки, надо цвет поверхности умножить на цвет падающего света. И еще на косинус угла между нормалью поверхности в этой точке, который дается скалярным произведением этих векторов. В отражении точка видна, поэтому определяются вклады в ее яркость от всех источников, которые не затенены посторонними предметами. В данном случае яркий удаленный источник вносит отрицательный вклад – косинус меньше нуля, поверхность повернута обратной стороной к нему. Баг пофиксен…
Может, кто-нибудь не понял, зачем нужен "прозрачный цвет" у текстуры? Демонстрирую...
Это площадь перед входом в Запретный город – дворец китайских императоров в Пекине, где сейчас музей…

Ну, и назначил этот цвет прозрачным… Вот. Никогда не фотографируйтесь у незнакомых людей, а то можете неожиданно оказаться в незнакомой обстановке со странным освещением…

(Космическая фея готовится к визиту на Землю, обзавелаcь глобусом)