Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory / КГ вопросы &ответы все.doc
Скачиваний:
48
Добавлен:
11.06.2015
Размер:
4.6 Mб
Скачать

50. Тени

Алгоритмы затенения в случае точечных источников света идентичны алгоритмам удаления скрытых поверхностей! В алгоритме удаления скрытых поверхностей определяются поверхности, которые можно увидеть из точки зрения, а в алгоритме затенения выделяются поверхности, которые можно «увидеть» из источника света.

Поверхности, видимые как из точки зрения, так и из источника света, не лежат в тени. Те же поверхности, которые видимы из точки зрения, но невидимы из источника света, находятся в тени. Эти рассуждения можно легко распространить на случай нескольких источников света. Отметим, однако, что, используя такой простой подход, нельзя смоделировать тени от распределенных источников света. При наличии таких источников потребуется вычислять как тени, так и полутени. Поскольку алгоритмы затенения и удаления скрытых поверхностей одинаковы, представляется возможным обрабатывать описание объекта, используя лишь один из этих алгоритмов, последовательно применяя его к точке зрения и к каждому из точечных источников света. Совокупность полученных результатов позволяет определить, какие части объекта видимы наблюдателю и какие видны из одного или нескольких источников света. На основании этой информации осуществляется закраска сцены. Если правильно организовать вычислительный процесс, определение теней можно проводить лишь один раз для серии сцен, которые состоят из одних и тех же объектов, рассматриваемых с различных точек зрения. Источники света предполагаются неподвижными относительно объектов. Все это оказывается возможным потому, что тени не зависят от положения точки зрения.

В одном из способов построения тени к объекту добавляется второй, компланарный ему многоугольник, совпадающий с видимой (из источника света) частью много­угольника, принадлежащего объекту, если какой-либо из принадлежащих объекту многоугольников полностью или частично видим из источника света. Выделение второго многоугольника производится с помощью метода отсечения многоугольников.

Эти многоугольники детализации поверхности не принимаются во внимание при удалении скрытых поверхностей, однако используются при закраске. Если закрашивается часть многоугольника, которая видима из точки зрения и покрыта одним из таких много­угольников, следует учитывать как диффузное, так и зеркальное отражение, а также рассеянный свет. Та часть многоугольника, которая видима из точки зрения, но не покрыта многоугольником детализации поверхности, находится в тени и на ее закраску влияет только рассеянный свет. На рис. 11 показаны многоугольники детализации

Источник света бесконечности

(образовавшиеся на двух поверхностях куба) при частичном затенении треугольником.

Многоугольники детализации покрывают те части куба, которые видимы из источника света.

При другом способе построения теней, называемом трассированием лучей,

рассматриваются поверхности, которые как пропускают, так и отражают свет. Этот метод описан ниже.

Соседние файлы в папке shpory