&Viik
Спрашиваю у тебя, поскольку именно у тебя больше всего ожидаю получить ответ.
Как ты решаеш вопрос в Deferred shading c прозрачностью? Ну скажем с полупрозрачной поверхностью? Единственное что приходит мне на ум, это пересчитываить в rtt нормали, вершины, для всех прозрачных мешей отдельно. А потом как то комбинировать в финальной закраске? Но тогда как мне узнать, что например стаканчик закрыт из моего ракурса стеной? Я почти уверен что есть более грамотное решения.
Поделись ссылками по проблеме.
Именно так и делаеть, отрисовываеться вся непрозрачная геометрия а потом отдельно прозрачная, вплоть до того что все постпроцессы (кроме ХДР) считаються для непрозрачной геометрии включая деп оф фиелд и мотион блур а потом уже считаеться прозрачная геометрия и пост процессы для нее.
Тебе не нужно узнавать закрыт он или нет, просто не нужно чистить глубину фрейм буфера. В текущей версии квеста этого сделать нельзя, любая отрисовка в РТТ делаеться через фрейм буфер и деп естественно убиваеться. Надеюсь пофиксят вместе с добавлением МРТ.
Большое спасибо
MRT действительно не хватает.
Как крайний вариант, есть идея, самому считать в rtt depth
сначала для непрозрачной, потом для прозрачной, потом if()
Но производительность сильно страдает :'(
А что, обещали пофиксить?
Вроде да, там несколько багов из-за этой лажи, 2-я бага это то что РТТ не может быть больше размера буфера.
Можно и так делать, деп других объектов уже есть и можно сранить попадает или нет, но могут быть проблемы с точностью, если полупрозрачная поверхность находиться рядом с непрозрачной. Без МРТ "настоящий" дефферед всеравно не получиться, я пока что на него забил.
Что означает "деп других объектов уже есть"?
То есть его не надо отдельно считать в rtt?
Не хочу пока забивать на deferred, он же так красиво под "нектсджен" ложится. Пока в поисках экземплов по mrt на плюсах. Может получится прикрутить.