Карта света с воксельной геометрией

Я, кажется, в настоящий момент нахожусь в колее, когда пишу сторону рендеринга моего игрового движка. Мой первоначальный план состоял в том, чтобы по крайней мере реализовать динамическое освещение на пиксель с помощью HLSL и иметь световой буфер для связи с шейдером максимум для 8 источников света.

Важно отметить, что на данный момент вся моя карта состоит из 3-х мерного массива блоков (64x64x64). После ОЧЕНЬ базового алгоритма уменьшения лиц, я смотрю на лица 32x32x32x6 для рендеринга в худшем случае. Я собираюсь использовать другие методы, чтобы уменьшить нагрузку, но сначала я хотел решить эту проблему.

В настоящее время с 8 лампами в шейдере, я получаю частоту кадров около 60-120 с GTX 470, который является приличной картой. Очевидно, что есть много других оптимизаций, на которые я должен обратить внимание, но поскольку динамическое освещение не является критическим для меня (по крайней мере, не для 8 источников света), я изучал составление карт освещения.

Если бы у меня было 4×4 люмеля на лицо, я бы посмотрел на текстурный атлас моей световой карты всего уровня, размером 32x32x32x6x16 с 4 байтами на пиксель. Это приводит к текстуре, которую я бы использовал, с разрешением 2048×2048 (ближайшее разрешение power-2).

Я уже посмотрел на несколько источников, особенно этот, http://www.flipcode.com/archives/Light_Mapping_Theory_and_Implementation.shtml, и в то время как я понимаю, как реализовать это с базовой сценой, я нахожусь в тупике, как я мог реализовать это в моей текущей ситуации с геометрией.

Вот мой вопрос. Есть лучший способ сделать это? Можно ли использовать световую карту такого размера? Я чувствую себя комфортно с использованием 4×4 люмелей на лицо, так как билинейная фильтрация, кажется, действительно сглаживает вещи в конце. Кроме того, было бы довольно просто объединить систему статической карты освещения с динамической на пиксель с HLSL?

1

Решение

http://www.rastertek.com/dx10tut18.html

Текстуры, которые вы используете, будут миниатюрными текстурами 4х4 внутри вашей «супер текстуры». Проверьте эту ссылку, но, честно говоря, вы не даете много, чтобы продолжить.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]