Карта освещения: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
'''Lightmap''' (часто называемый также «лайтмап», «лайтмэп», в переводе с [[английский язык|англ.]] — '''карта освещения''') — метод освещения пространства в [[3D]]-приложениях, заключающийся в том, что создается [[текстура (трёхмерная графика)|текстура]], содержащая информацию об освещённости трехмерных моделей.<ref>{{cite web | url= http://games.cnews.ru/eterm/index.php?filter=term&id=348|title=Термины (cnews.ru)|lang=ru}}</ref><ref>{{cite web | url= http://developer.valvesoftware.com/wiki/Lightmap|title=Лайтмап в Вики для разработчиков Valve|lang=en}}</ref>
'''Lightmap''' (часто называемый также «лайтмап», «лайтмэп», в переводе с [[английский язык|англ.]] — '''карта освещения''') — метод освещения пространства в 3D-приложениях, заключающийся в том, что создаётся [[текстура (трёхмерная графика)|текстура]], содержащая информацию об освещённости трёхмерных моделей.<ref>{{cite web | url= http://games.cnews.ru/eterm/index.php?filter=term&id=348|title=Термины (cnews.ru)|lang=ru}}</ref><ref>{{cite web | url= http://developer.valvesoftware.com/wiki/Lightmap|title=Лайтмап в Вики для разработчиков Valve|lang=en}}</ref>


== Описание метода ==
== Описание метода ==
Этот метод значительно экономит ресурсы системы, так как [[Игровой движок|трехмерному движку]] не приходится рассчитывать падение света в режиме реального времени, но при этом проигрывает динамическому освещению в реалистичности.
Этот метод значительно экономит ресурсы системы, так как [[Игровой движок|трёхмерному движку]] не приходится рассчитывать падение света в режиме реального времени, но при этом проигрывает динамическому освещению в реалистичности.


Почти всегда карты освещения выравниваются с обычными [[текстура (трёхмерная графика)|текстурами]] полигонов, и каждый [[тексел (графика)|тексел]] карты соответствует 4-32 текселам текстуры. Размеры карты определяются размерами минимального, ограничивающего полигон прямоугольника, стороны которого параллельны текстурным векторам.
Почти всегда карты освещения выравниваются с обычными [[текстура (трёхмерная графика)|текстурами]] полигонов, и каждый [[тексел (графика)|тексел]] карты соответствует 4-32 текселам текстуры. Размеры карты определяются размерами минимального, ограничивающего полигон прямоугольника, стороны которого параллельны текстурным векторам.
Строка 8: Строка 8:
В том или ином виде карты освещения используются практически во всех современных 3D-приложениях реального времени. Этот метод применяется для создания всего статического освещения сцены. Освещение генерируется для статической геометрии до начала [[Цикл рендеринга|цикла рендеринга]], и во время [[рендеринг]]а в основном не изменяется. На современном оборудовании реализация полностью динамического освещения с использованием карт освещения невозможна из-за большой ресурсоемкости процесса создания лайтмэпов. Этот подход рассматривается как основа для большинства других алгоритмов рендеринга теней в реальном времени.
В том или ином виде карты освещения используются практически во всех современных 3D-приложениях реального времени. Этот метод применяется для создания всего статического освещения сцены. Освещение генерируется для статической геометрии до начала [[Цикл рендеринга|цикла рендеринга]], и во время [[рендеринг]]а в основном не изменяется. На современном оборудовании реализация полностью динамического освещения с использованием карт освещения невозможна из-за большой ресурсоемкости процесса создания лайтмэпов. Этот подход рассматривается как основа для большинства других алгоритмов рендеринга теней в реальном времени.


При создании карта заполняется черными пикселями. Далее, для каждого тексела карты освещения находятся трехмерные координаты точки на полигоне. Для этой точки необходимо построить список всех источников света, которые влияют на ее освещение: вектора из данной точки до источников света проверяются на пересечение с геометрией сцены, и если пересечение имеет место — то этот источник света не освещает точку (относительно него точка в тени). Остальные источники увеличивают значение тексела лайтмэпа на величину, зависящую от используемой [[модель освещения|модели освещения]] и положения источника света относительно точки. В целях улучшения внешнего вида картинки, к картам освещения часто применяется [[билинейная фильтрация]]. Эти операции повторяются для каждого освещаемого полигона сцены.
При создании карта заполняется черными пикселями. Далее, для каждого тексела карты освещения находятся трехмерные координаты точки на полигоне. Для этой точки необходимо построить список всех источников света, которые влияют на ее освещение: вектора из данной точки до источников света проверяются на пересечение с геометрией сцены, и если пересечение имеет место — то этот источник света не освещает точку (относительно него точка в тени). Остальные источники увеличивают значение тексела лайтмэпа на величину, зависящую от используемой [[модель освещения|модели освещения]] и положения источника света относительно точки. В целях улучшения внешнего вида картинки, к картам освещения часто применяется [[билинейная фильтрация]]. Эти операции повторяются для каждого освещаемого полигона сцены.


Во время [[рендеринг]]а, карты освещения могут накладываться вторым проходом, с использованием [[Альфа-блендинг|альфа-блендинга]]. При наличии [[мультитекстурное оборудование|мультитекстурного оборудования]] можно накладывать текстуру и карту освещения за один проход.
Во время [[рендеринг]]а, карты освещения могут накладываться вторым проходом, с использованием [[Альфа-блендинг|альфа-блендинга]]. При наличии [[мультитекстурное оборудование|мультитекстурного оборудования]] можно накладывать текстуру и карту освещения за один проход.
Строка 19: Строка 19:


== См. также ==
== См. также ==
*[[Рендеринг]]
* [[Рендеринг]]
*[[Глобальное освещение]]
* [[Глобальное освещение]]
*[[Динамическое освещение]]
* [[Динамическое освещение]]


[[Категория:Освещение в трёхмерной графике]]
[[Категория:Освещение в трёхмерной графике]]

Версия от 17:31, 9 октября 2010

Lightmap (часто называемый также «лайтмап», «лайтмэп», в переводе с англ. — карта освещения) — метод освещения пространства в 3D-приложениях, заключающийся в том, что создаётся текстура, содержащая информацию об освещённости трёхмерных моделей.[1][2]

Описание метода

Этот метод значительно экономит ресурсы системы, так как трёхмерному движку не приходится рассчитывать падение света в режиме реального времени, но при этом проигрывает динамическому освещению в реалистичности.

Почти всегда карты освещения выравниваются с обычными текстурами полигонов, и каждый тексел карты соответствует 4-32 текселам текстуры. Размеры карты определяются размерами минимального, ограничивающего полигон прямоугольника, стороны которого параллельны текстурным векторам.

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

При создании карта заполняется черными пикселями. Далее, для каждого тексела карты освещения находятся трехмерные координаты точки на полигоне. Для этой точки необходимо построить список всех источников света, которые влияют на ее освещение: вектора из данной точки до источников света проверяются на пересечение с геометрией сцены, и если пересечение имеет место — то этот источник света не освещает точку (относительно него точка в тени). Остальные источники увеличивают значение тексела лайтмэпа на величину, зависящую от используемой модели освещения и положения источника света относительно точки. В целях улучшения внешнего вида картинки, к картам освещения часто применяется билинейная фильтрация. Эти операции повторяются для каждого освещаемого полигона сцены.

Во время рендеринга, карты освещения могут накладываться вторым проходом, с использованием альфа-блендинга. При наличии мультитекстурного оборудования можно накладывать текстуру и карту освещения за один проход.

Данный метод освещения поддерживается такими игровыми движками, как id Tech, Unreal Engine, Lithtech, Source.

Примечания

См. также