Форум

При большом количестве источников освещения, сцена зависает.

09 июля 2016 10:33
Решил я попробовать устроить нагрузочный тест, сколько источников света на скольки fps будет работать.
В итоге когда на сцене оказалось 31 лампочка в меня извергла консоль этот текст .
Файл сцены прилагаю
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
09 июля 2016 23:42
Хм. Сцена работает хорошо, Linux firefox 17-20 fps. Chrome ~30 fps. videocard - amd 7560
Ошибок не было в консоли. b4w 16.06
Добавлял до 35 лампочек.

Думаю это проблема на уровне железа и шейдеров.
10 июля 2016 08:22
Спасибо за отзыв. Думаю b4w стоит научить вычислять максимальное количество источников освещения способных отобразиться в зависимости от железа. А то наставлю 15 источников у меня запустится а на какой нить мобилке нет.

Приложу тогда DxDiag.txt, chrome://gpu и отчёт с webglreport
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
10 июля 2016 21:46
Думаю тут все проще. Как в середине 2000х железо особенно не меняется в этом плане, 4 источника света это норма, 8 источников это максимум на экране.
Не знаю как b4w обрабатывает больше сцены тут только подскажут разработчики.
Да и почти всегда большое кол-во источников света можно заменить lightmap-ми
11 июля 2016 07:31
Я бы заменил лайтмапами, но без источников освещения не будет меняться цвет освещения у динамических объектов, перемещающихся по сцене… Вот если бы можно было получать цвет лайтмапы в определенной координате мирового пространства, то тогда источники света не нужны будут.

Хотя есть один способ наложить карту освещения. Но для многоэетажности он не подходит.
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
11 июля 2016 09:19
Пока шёл на работу придумал ещё один способ освещения:
Но для его работы источнику освещения нужно добавить галку not render. Что бы он был виден в коде но ни как не визуализировался.

Идея такова:
1. Берем координаты origin модельки, для которой хотим рассчитать освещение
2. Перебираем источники освещения поблизости, которые могут влиять на объект
3. Строим лучи и проверяем, есть ли препятствия до источников света.
4. Итого исходя из расстояния, цвета и силы источников света складываем цвета и применяем его к модельке.

Сейчас для такого приёма надо написать питоновский скриптик, который в местах источников света поставит пустышки с метаданными о источнике света. Надо будет опробовать теорию…
Для мелких объектов на карте само то!
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.