Название: [sh] Deferred shading Отправлено: Const_47 от 02 Марта 2009, 03:33:08 &Viik
Спрашиваю у тебя, поскольку именно у тебя больше всего ожидаю получить ответ. Как ты решаеш вопрос в Deferred shading c прозрачностью? Ну скажем с полупрозрачной поверхностью? Единственное что приходит мне на ум, это пересчитываить в rtt нормали, вершины, для всех прозрачных мешей отдельно. А потом как то комбинировать в финальной закраске? Но тогда как мне узнать, что например стаканчик закрыт из моего ракурса стеной? Я почти уверен что есть более грамотное решения. Поделись ссылками по проблеме. Название: Re: Deferred Отправлено: Viik от 02 Марта 2009, 10:37:02 Именно так и делаеть, отрисовываеться вся непрозрачная геометрия а потом отдельно прозрачная, вплоть до того что все постпроцессы (кроме ХДР) считаються для непрозрачной геометрии включая деп оф фиелд и мотион блур а потом уже считаеться прозрачная геометрия и пост процессы для нее.
Тебе не нужно узнавать закрыт он или нет, просто не нужно чистить глубину фрейм буфера. В текущей версии квеста этого сделать нельзя, любая отрисовка в РТТ делаеться через фрейм буфер и деп естественно убиваеться. Надеюсь пофиксят вместе с добавлением МРТ. Название: Re: Deferred Отправлено: Const_47 от 02 Марта 2009, 17:16:52 Большое спасибо
MRT действительно не хватает. Как крайний вариант, есть идея, самому считать в rtt depth сначала для непрозрачной, потом для прозрачной, потом if() Но производительность сильно страдает :'( А что, обещали пофиксить? Название: Re: Deferred Отправлено: Viik от 02 Марта 2009, 18:17:23 Вроде да, там несколько багов из-за этой лажи, 2-я бага это то что РТТ не может быть больше размера буфера.
Можно и так делать, деп других объектов уже есть и можно сранить попадает или нет, но могут быть проблемы с точностью, если полупрозрачная поверхность находиться рядом с непрозрачной. Без МРТ "настоящий" дефферед всеравно не получиться, я пока что на него забил. Название: Re: Deferred Отправлено: Const_47 от 02 Марта 2009, 19:34:18 Что означает "деп других объектов уже есть"?
То есть его не надо отдельно считать в rtt? Не хочу пока забивать на deferred, он же так красиво под "нектсджен" ложится. Пока в поисках экземплов по mrt на плюсах. Может получится прикрутить. |