29.10.2013, 19:54
|
#127
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Ответ: [TrueHorror] - разработка
Суть такова.
Потратив два денька я добился повышения производительности. Тестировал на такой конфигурации: Intel Atom 1.66 ГГЦ - 2 ядра, 2 Гб ОЗУ, Intel GMA 3150( тащит вторые шейдеры ( только вершинные обрабатываются CPU )). Пиксельный шейдер теперь обрабатывает только один источник света.
В итоге до оптимизации куда ни глянь: 1-2 кадра в секунду
После оптимизаций рендерера: 6 кадров в секунду на очень загруженном участке сцены( 190 объектов - 23 источника света ) и 15 кадров при взгляде в потолок или пол )
Оптимизации: проверка попадания объекта в пирамиду видимости, отсечение источников света которые не в кадре, проверка влияния света на объект.
Еще нужно добавить Quadtree для статической геометрии( уровень ) - тогда вообще прирост производительности будет серьезным.
Появился z-fighting. Алгоритм отрисовки такой:
составить список объектов в кадре
для каждого источника света
{
если свет в кадре
{
для каждого объекта в кадре
{
если на объект влияет свет
нарисовать
}
}
включить аддитивный блендинг для следующего источника
}
Из-за такого подхода появляются баги - описывать не буду - очень хорошо заметны при входе в проломленную стену.
Как исправить?
ЗЫ. За эффекты по не брался
Cкачать
__________________
|
(Offline)
|
|