Я использую Three.js r97, и в моей сцене у меня есть сетка, использующая BufferGeometry с допустимыми нормалями. Когда я устанавливаю material.flatShading = false, я вижу гладкую сетку, но когда я применяю постобработку SSAO к этой сетке (https://threejs.org/examples/webgl_postprocessing_ssao.html),), я могу видеть треугольники сетки, как если бы это был оригинальный материал flatShading, установленный в true. Мне не хватает параметра, который можно установить (на материале глубины или в самом шейдере SSAO), чтобы SSAO не показывал исходные треугольники сетки, но был гладким? Глубина В материале, используемом SSAOPass, по умолчанию flatShading = false, но не похоже имеет значение в этом случае.
Пожалуйста, смотрите изображения ниже. Был бы рад предоставить больше деталей, если это необходимо, поскольку я застрял в этом вопросе уже несколько дней, и на данный момент даже не уверен, что это можно сделать, за исключением того, что сделать треугольники SSAO менее тонкими, играя с параметрами radius, aoClamp и lumInfluence .
Сетка - плоское затенение (material.flatShading = true):
![enter image description here](https://i.stack.imgur.com/9KKww.jpg)
Сетка - плавное затенение (material.flatShading = false):
![enter image description here](https://i.stack.imgur.com/iTsnY.jpg)
Сетка - плавное затенение + SSAO:
![enter image description here](https://i.stack.imgur.com/5Joqp.jpg)