Lightmap
Этот метод так же носит название «карта освещения». С его помощью с трехмерных приложениях создаются текстуры несущие в себе информацию об освещенности той или иной трехмерной модели.
Когда используется технология Lightmap, то расходы системных ресурсов значительно сокращаются. При таком подходе графический движок не обрабатывает свет в реальном режиме времени, следовательно, существенно проигрывает динамическому методу освещения. Эта технология сейчас используется практически во всех современных трехмерных приложениях с целью создания статического освещения. При таком подходе освещение генерируется еще до начала рендеринга и потом уже не меняется, а если и меняется, то не значительно.
На начальном этапе создания карты освещения она полностью вся заполняется черными пикселями. Затем для каждого текселя карты освещения высчитываются координаты на полигоне. В той точке нужно будет воспроизвести абсолютно все источники света, которые действуют на нее. Далее вектора из данной точки до источника освещения проверяются на пересечение с геометрическими объектами на сцене. Если пересечение находиться, то, следовательно, этот источник свет не освещает данную точку. Остальные источники освещения увеличивают значение тексела lightmap на величину, которая зависит от используемого типа освещения, а так же его положения относительно обсчитываемой точки. Для создания более реалистичной картинки применяют билинейную фильтрацию.
Дальше во время рендеринга трехмерной картинки полученный Lightmap может быть повторно использован, но с применением альфа-блендинга. В качестве примера движков используемых такую технологию можно перечислить следующие продукты Unreal Engine, Source, Lithtech и id Tech.
Написать комментарий