Quest3D - Русскоязычное сообщество

Quest3D => Выставка - тестерская => Тема начата: Alteste от 04 Июня 2011, 22:39:20



Название: Deferred shading
Отправлено: Alteste от 04 Июня 2011, 22:39:20
Сценка с 30 источниками света и системой раздельного освещения Deferred shading. Ссылка для скачивания - http://alteste.ru/download/Deferred_shading.exe

Всем, кому интересно что такое Deferred shading, и как его сделать в Quest3D - прошу ко мне в блог www.alteste.ru где я подробно все описал)

Всем, кто в теме - прошу отписывать о найденных ошибках, я обязательно их учту и исправлю.
Спасибо за внимание!


Название: Re: Deferred shading
Отправлено: Sqwer от 04 Июня 2011, 23:03:16
1. Не учитывается  смещение  полпиксела.
2. Нет корректировки по позиции.  (можно проверить так:  размести сцену  в 3000 юнитах  от центра мира и посмотреть что из этого выйдет)
3. ужиматься на 8бит-канал  затея для старых видях.
4. Для удобного подключения ИС   нужно  юзать Найчур. (в противном случае замучаешься подключать ИС, или схлопочишь  овердрав если через фор луп).


Название: Re: Deferred shading
Отправлено: Alteste от 06 Июня 2011, 14:12:43
1. Для чего это делается и на что влияет?
2. Каким образом делается коррекция по позиции?
3. Это вопрос оптимизации.
4. Как раз таки нэйчур и создает жуткую просадку fps


Название: Re: Deferred shading
Отправлено: Ruslan от 06 Июня 2011, 17:46:31
Цитировать
4. Как раз таки нэйчур и создает жуткую просадку fps

Examples\Graphics\Particles\NaturePaint Shader Instancing.cgr

где здесь просадка фпс?

а вообще Александр молодец, что реализовали Deferred shading и других научили, допилить только осталось.

В Квесте не предусмотрена возможность  для передачи массива в шейдер, поэтому выдумали всякие извраты (нейчур и так далее).  У нас проблем с передачей параметров в шейдер нет, так как используем шейдера непосредственно dx, в собственном канале.
Скоро совсем откажемся от Квеста, на подходе собственный двиг, пока без редактора (редактор заменяет 3dsMax в нем на модели накидываются шейдера, настраиваются лоды интерактивно во вьюпорте, так же билбордовые деревья, линковка и так далее, затем по нажатию кнопки экспорт, все данные о сцене выгружаются в собственном формате).


Название: Re: Deferred shading
Отправлено: Sqwer от 06 Июня 2011, 21:28:05
1. Для чего это делается и на что влияет?
выборка в ДХ9  со смещением на пол пиксела.
в ДХ выше 9ки  это устранили.

2. Всё зависит от реализации. Проще всего юзать  не позицию , а глубину. а после домножать её на вью прожекшн инверсную.

3. Когда понадобится делать ССАОс учётом нормалей. ты потратишь больше ресурсов на создание бест алигн нормалей, чем на передачу 64бит текстуры.
 
4. не правда,  вызывается  просто за раз несколько геометрий фулскринов,  на 40 матриц -  получаем 80 треугольников. а это понты. сетинг хендлеро в ДХ дороже обходится.

но это всё мелочи, реальная просадка - это  заполнение стеков  dll ками.   Куча ресурсов  тратится именно на это, и как раз по этому  Квест не пригоден для больших сцен с тысячами объектов.   :-\


Название: Re: Deferred shading
Отправлено: dfx от 07 Июня 2011, 19:06:58
Цитировать
4. Как раз таки нэйчур и создает жуткую просадку fps
Цитировать
4. не правда,  вызывается  просто за раз несколько геометрий фулскринов,  на 40 матриц -  получаем 80 треугольников. а это понты. сетинг хендлеро в ДХ дороже обходится.

Sqwer дело говорит. Вызов дорого обходится, а в квесте нет хардвэр инстансов, которые можно напрямую юзать. Нейчур как раз и дает эту фичу - рисует несколько объектов за один вызов. Если хочешь проверить попробуй нарисовать модель из 1000 триугольников (это один дип) и один триугольник 1000 раз в цикле(1000 дипов) - и... почувствуй разницу, так сказать.)


Название: Re: Deferred shading
Отправлено: Den_ya от 17 Июля 2011, 22:17:30
Ruslan

Цитировать
Скоро совсем откажемся от Квеста, на подходе собственный двиг, пока без редактора

что означает собственный двиг?

ты про этот движок?

http://alternativaplatform.com/ru/


Название: Re: Deferred shading
Отправлено: Ruslan от 17 Июля 2011, 22:40:22
Den_ya
нет, не про этот.
"свой" в смысле пишем сами на С++\DX10\Newton


Название: Re: Deferred shading
Отправлено: Den_ya от 17 Июля 2011, 22:45:31
нифигасе :o

а что значит заменяет 3ds max(не очень понял как то)
а смаксом то этот движок дружить будет?


Название: Re: Deferred shading
Отправлено: Ruslan от 18 Июля 2011, 00:38:51
Если в двух словах, то в 3dsMax строим полностью всю сцену, при этом назначаем на меши DX шейдера и видим результат их работу непосредственно во вьюпорте макса.
Поддерживаются инстанс мешей, материалов, текстур, поддержка лодов, линковка объектов, слои, различные настройки для объектов, в том числе и для физики.
Затем вся сцена, со всеми настройками экспортируется в своем формате, который понимает наш двиг.


Название: Re: Deferred shading
Отправлено: Ruslan от 18 Июля 2011, 00:56:50
на этом скрине видна работа утилиты, для создания билбордовых деревьев\кустов (как видно, все отображается во вьюпорте макса)


Название: Re: Deferred shading
Отправлено: Den_ya от 18 Июля 2011, 01:17:49
афигеть ;D заинтерисовал :D