Теневая картаМетод теневых карт (англ. Shadow mapping) или карт теней — способ моделирования теней в трёхмерной компьютерной графике. Этот способ используется при создании как пререндеренных, так и анимируемых в реальном времени трехмерных сцен и широко применяется в киноиндустрии и компьютерных играх. Концепция теневых карт была введена американским специалистом по компьютерной графике Лэнсом Уильямсом[англ.] в 1978 году в статье под названием «Отбрасывание изогнутых теней на изогнутые поверхности» (англ. «Casting curved shadows on curved surfaces»)[1]. Традиционный способ создания теневых карт основан на использовании Z-буфера (буфера глубины). Сначала происходит построение сцены в Z-буфер с точки зрения источника света, чтобы установить видимые из этой точки пикселы и расстояния до них — таким образом формируется теневая карта, представляющая собой двухмерную текстуру. После этого сцена перестраивается уже с точки зрения наблюдателя со сравнением текстурных координат с теневой картой; если такое сравнение говорит, что соответствующий пиксел невидим с точки зрения источника света и, следовательно, должен быть затенен, он закрашивается темным цветом[2]. Для однонаправленного источника света достаточно одной такой текстуры с информацией из буфера глубины ортографической или перспективной камеры; для точечных источников света, распространяющих свет во всех направлениях, нужны более сложные алгоритмы, предусматривающие построение нескольких текстур. Недостатком теневых карт является алиасинг, эффект грубой «ступенчатой» границы изображения на сценах большого размера[3]. Примечания
|