Читайте также:
|
|
Шаг 1: для каждого многоугольника сцены и каждого источника определятся самозатененные участки и проекционные тени. Они записываются в виде двойной матрицы, в которой строки – многоугольники отбрасывающие тень, а столбцы – затеняемые многоугольники. Единицы в матрице обозначают, что грань может отбрасывать тень на другую, ноль-не может. Единица по диагонали соотв многоуг-ку собственной тени
Шаг 2: обработка сцены относительно положения наблюдателя. Состоит из 2-х процессов сканирования: 1процесс определяет какие отрезки на интервале видимы, а второй с помощью списка теневых мног-ов находит падает ли тень на мн-к, который создает видимый отрезок на данном интервале.
Второе сканирование для интервала происходит следующим образом:
1) если нет ни одного теневого треугольника, то видимый отрезок изображения
2) если для мног-ка, содержащего видимый отрезок, имеются теневые мног-ки, но они не пересекают и не покрывают данный интервал, то видимый отрезок изображается
3) если интервал полностью покрывается одним или нескольким теневыми мног-ками, то интенсивность изображаемого видимого отрезка определяется с учетом интен-ти этих мног-ов и самого отрезка
если одни или несколько теневых мног-ков частично покрывают интервал, то он разбивается в местах пересечения с ребрами теневых мног-ов. Затем алгоритм применятся рекурсивно к каждому из подинтервалов до тех пор, пока интервал не будет изображен.
19. Тени. Модификация алгоритма с Z - буфером.
Шаг1: строится сцена из точки наблюдения совпадающей с источником света. Значение z для этого вида хранятся в отдельном теневом Z-буфере. Значения интенсивности не рассматривается.
Шаг2: строится сцена из точки в которой находится наблюдатель. При обработке каждой поверхности или многоугольника, его глубина в каждом пикселе сравнивается с глубиной в z-буфере наблюдения. Если поверхность видна то значения X, Y, Z из вида наблюдателя, линейно преобразуется в значение X’, Y’, Z’, на виде из источника. Для того чтобы проверить видно ли значение Z’ из положения источника, оно сравнивается со значением теневого Z-буфера при соответствующем значениях X’ и Y’. Если оно видимо, то оно отображается в буфере кадра в точке X,Y без изменения(т.е. интенсивность не уменьшается), если нет, то точка находиться в тени и изображается согласно правилу расчета интенсивности с учетом затенения, а значение в z-буфере наблюдателя заменяется на z'.
Дата добавления: 2015-07-20; просмотров: 27 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Тени. Общие понятия и обобщенный алгоритм построения. | | | Хеликобактерии ---- |