Показать сообщение отдельно
Старый 29.10.2013, 19:54   #127
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (29.10.2013)