22 Сентября 2024, 12:23:45
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Визуализация, Шейдеры > [sh] Deferred shading
[sh] Deferred shading
(Прочитано 9003 раз)
  [1]
Печать
Const_47 | **** | Старожил | Сообщений: 299 | « 02 Марта 2009, 03:33:08 »
[sh] Deferred shading |
0
&Viik

Спрашиваю у тебя, поскольку именно у тебя больше всего ожидаю получить ответ.

Как ты решаеш вопрос в Deferred shading c прозрачностью? Ну скажем с полупрозрачной поверхностью? Единственное что приходит мне на ум, это пересчитываить в rtt нормали, вершины, для всех прозрачных мешей  отдельно. А потом как то комбинировать в финальной закраске? Но тогда как мне узнать, что например стаканчик закрыт из моего ракурса стеной? Я почти уверен что есть более грамотное решения.

Поделись ссылками по проблеме.
« Последнее редактирование: 22 Сентября 2009, 11:19:48 от Sqwer »
Viik | **** | Старожил | Сообщений: 302 | «Ответ #1 02 Марта 2009, 10:37:02 »
Re: Deferred |
1
Именно так и делаеть, отрисовываеться вся непрозрачная геометрия а потом отдельно прозрачная, вплоть до того что все постпроцессы (кроме ХДР) считаються для непрозрачной геометрии включая деп оф фиелд и мотион блур а потом уже считаеться прозрачная геометрия и пост процессы для нее.

Тебе не нужно узнавать закрыт он или нет, просто не нужно чистить глубину фрейм буфера. В текущей версии квеста этого сделать нельзя, любая отрисовка в РТТ делаеться через фрейм буфер и деп естественно убиваеться. Надеюсь пофиксят вместе с добавлением МРТ.
Const_47 | **** | Старожил | Сообщений: 299 | «Ответ #2 02 Марта 2009, 17:16:52 »
Re: Deferred |
2
Большое спасибо

MRT действительно не хватает.

Как крайний вариант, есть идея, самому считать в rtt depth
сначала для непрозрачной, потом для прозрачной, потом if()
Но производительность сильно страдает  Плачущий


А что, обещали пофиксить?
Viik | **** | Старожил | Сообщений: 302 | «Ответ #3 02 Марта 2009, 18:17:23 »
Re: Deferred |
3
Вроде да, там несколько багов из-за этой лажи, 2-я бага это то что РТТ не может быть больше размера буфера.

Можно и так делать, деп других объектов уже есть и можно сранить попадает или нет, но могут быть проблемы с точностью, если полупрозрачная поверхность находиться рядом с непрозрачной. Без МРТ "настоящий" дефферед всеравно не получиться, я пока что на него забил.
Const_47 | **** | Старожил | Сообщений: 299 | «Ответ #4 02 Марта 2009, 19:34:18 »
Re: Deferred |
4
Что означает "деп других объектов уже есть"?
То есть его не надо отдельно считать в rtt?


Не хочу пока забивать на deferred, он же так красиво под "нектсджен" ложится. Пока в поисках экземплов по mrt на плюсах. Может получится прикрутить. 
 
  [1]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Визуализация, Шейдеры > [sh] Deferred shading
Перейти в: