Three.js - SSAO дефект прозрачной зоны
Я пытался добавить SSAO в свою игру, согласно этому ПРИМЕРУ SSAO
К сожалению, мои прозрачные деревья теперь вышли из строя:
Посоветуйте пожалуйста как это исправить.
2 ответа
Вы можете передать текстуру в фрагментный шейдер Normal/ глубины и отбросить любые фрагменты с альфа < 0,5
Это не является дефектом, во время Глубинного Пути, который необходимо передать дальше в шейдер SSAO, прозрачность не принимается во внимание, поэтому ваши определяющие отпуск плоскости распознаются как плоская геометрия и получают соответствующий контур. Что касается решения, я не могу вам помочь. Что вы можете сделать, так это спрятать все прозрачные элементы перед рендерингом прохода глубины, но затем AO-проход умножается на него, так что вы просто торгуете визуальной проблемой с другим. Чтобы действительно решить эту проблему, я думаю, что вам нужен дополнительный Three.MaskPass, смотрите здесь:
Рендеринг нескольких сцен с использованием только 1 с использованием SSAO [Three.js]
Надеюсь это поможет.