Сценка с 30 источниками света и системой раздельного освещения Deferred shading. Ссылка для скачивания - http://alteste.ru/download/Deferred_shading.exe
Всем, кому интересно что такое Deferred shading, и как его сделать в Quest3D - прошу ко мне в блог www.alteste.ru где я подробно все описал)
Всем, кто в теме - прошу отписывать о найденных ошибках, я обязательно их учту и исправлю.
Спасибо за внимание!
1. Не учитывается смещение полпиксела.
2. Нет корректировки по позиции. (можно проверить так: размести сцену в 3000 юнитах от центра мира и посмотреть что из этого выйдет)
3. ужиматься на 8бит-канал затея для старых видях.
4. Для удобного подключения ИС нужно юзать Найчур. (в противном случае замучаешься подключать ИС, или схлопочишь овердрав если через фор луп).
1. Для чего это делается и на что влияет?
2. Каким образом делается коррекция по позиции?
3. Это вопрос оптимизации.
4. Как раз таки нэйчур и создает жуткую просадку fps
Цитировать4. Как раз таки нэйчур и создает жуткую просадку fps
Examples\Graphics\Particles\NaturePaint Shader Instancing.cgr
где здесь просадка фпс?
а вообще Александр молодец, что реализовали Deferred shading и других научили, допилить только осталось.
В Квесте не предусмотрена возможность для передачи массива в шейдер, поэтому выдумали всякие извраты (нейчур и так далее). У нас проблем с передачей параметров в шейдер нет, так как используем шейдера непосредственно dx, в собственном канале.
Скоро совсем откажемся от Квеста, на подходе собственный двиг, пока без редактора (редактор заменяет 3dsMax в нем на модели накидываются шейдера, настраиваются лоды интерактивно во вьюпорте, так же билбордовые деревья, линковка и так далее, затем по нажатию кнопки экспорт, все данные о сцене выгружаются в собственном формате).
1. Для чего это делается и на что влияет?
выборка в ДХ9 со смещением на пол пиксела.
в ДХ выше 9ки это устранили.
2. Всё зависит от реализации. Проще всего юзать не позицию , а глубину. а после домножать её на вью прожекшн инверсную.
3. Когда понадобится делать ССАОс учётом нормалей. ты потратишь больше ресурсов на создание бест алигн нормалей, чем на передачу 64бит текстуры.
4. не правда, вызывается просто за раз несколько геометрий фулскринов, на 40 матриц - получаем 80 треугольников. а это понты. сетинг хендлеро в ДХ дороже обходится.
но это всё мелочи, реальная просадка - это заполнение стеков dll ками. Куча ресурсов тратится именно на это, и как раз по этому Квест не пригоден для больших сцен с тысячами объектов. :-\
Цитировать4. Как раз таки нэйчур и создает жуткую просадку fps
Цитировать4. не правда, вызывается просто за раз несколько геометрий фулскринов, на 40 матриц - получаем 80 треугольников. а это понты. сетинг хендлеро в ДХ дороже обходится.
Sqwer дело говорит. Вызов дорого обходится, а в квесте нет хардвэр инстансов, которые можно напрямую юзать. Нейчур как раз и дает эту фичу - рисует несколько объектов за один вызов. Если хочешь проверить попробуй нарисовать модель из 1000 триугольников (это один дип) и один триугольник 1000 раз в цикле(1000 дипов) - и... почувствуй разницу, так сказать.)
RuslanЦитироватьСкоро совсем откажемся от Квеста, на подходе собственный двиг, пока без редактора
что означает собственный двиг?
ты про этот движок?
http://alternativaplatform.com/ru/
Den_ya
нет, не про этот.
"свой" в смысле пишем сами на С++\DX10\Newton
нифигасе :o
а что значит заменяет 3ds max(не очень понял как то)
а смаксом то этот движок дружить будет?
Если в двух словах, то в 3dsMax строим полностью всю сцену, при этом назначаем на меши DX шейдера и видим результат их работу непосредственно во вьюпорте макса.
Поддерживаются инстанс мешей, материалов, текстур, поддержка лодов, линковка объектов, слои, различные настройки для объектов, в том числе и для физики.
Затем вся сцена, со всеми настройками экспортируется в своем формате, который понимает наш двиг.
на этом скрине видна работа утилиты, для создания билбордовых деревьев\кустов (как видно, все отображается во вьюпорте макса)
афигеть ;D заинтерисовал :D