Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шп гр.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.81 Mб
Скачать

Фоновые источники и фоновые отражения

Для того, чтобы преодолеть трудности, связанные со сплошными черными тенями, давайте представим себе, что в окружающей среде существует равномерное <<свечение фона>>, называемое фоновым светом (ambient light). Источник фонового свете не располагается в каком-либо определенном месте, и этот свет распространяется во всех направлениях одинаково. Этот источник характеризуется интенсивностью . Каждой грани в данной модели соответствует определенное значение коэффициента фонового отражения (ambient reflection coefficient) (часто он совпадает с коэффициентом диффузного отражения ), а член просто добавляется к тому диффузному и зеркальному свету, который попадает в глаз из каждой точки P на этой грани. Значения и обычно подбираются экспериментально путем варьирования различных величин и выбора наиболее подходящих. Недостаток фонового света делает тени слишком глубокими и резкими, избыток же его делает изображение размытым и мягким.

Комбинирование компонентов освещения

Теперь мы можем сложить три компонента освещения – диффузный, зеркальный и фоновый, чтобы получить суммарное количество света I, которое попадает в глаз из точки P, а именно:

(8.5)

где введены величины:

(8.6)

Величина I зависит от различных интенсивностей источников и коэффициентов отражения объекта, а также от соотношения положений точки P, глаза и точечного источника света. Здесь интенсивности диффузного и зеркального компонентов обозначены различными буквами, поскольку в Open GL представляется возможность задавать их раздельно, как мы увидим позднее. На практике обе эти интенсивности обычно имеют одну и ту же величину.

Рассмотрим несколько подробнее изменение интенсивности I в зависимости от положения точки P, для чего снова вернемся к рис. 8.12. Интенсивность I вычисляется для различных точек P рассматриваемой микрограни. Фоновый компонент не претерпевает никаких изменений в пределах микрограни; вектор m одинаков для всех точек P микрограни, но направления векторов s и v зависят от P. (Пусть, например, s=S-P, где S - расположение источника света. Как значение вектора v зависит от точки P и глаза?). Если источник света достаточно удален (это типичный случай), то вектор s при изменении точки P меняется незначительно; так что и диффузный компонент также будет незначительно изменяться для различных точек P. Это особенно верно, когда векторы s и m почти параллельны, так как для малых углов косинус изменяется медленно. Для удаленных источников света изменение направления промежуточного вектора h также слабо зависит от изменения точки P. С другой стороны, если источник света расположен близко к микрограни, то по мере изменения точки P векторы s и h могут сильно изменяться. В этом случае зеркальный компонент может сильно изменяться в пределах микрограни, поэтому яркий блик может быть локализован в ее малой области. Этот эффект усиливается, когда глаз также расположен близко к микрограни, вызывая сильные изменения в направлении v, и когда показатель степени очень f велик.