平滑网格上的Three.js SSAO生成平面着色效果

平滑网格上的Three.js SSAO生成平面着色效果,three.js,ssao,Three.js,Ssao,我正在使用Three.js r97,在我的场景中,我有一个使用缓冲几何体和有效法线的网格。当我设置material.flatShading=false时,我看到一个平滑的网格,但当我将SSAO后处理应用于该网格()时,我可以看到网格三角形,就好像它的原始材质flatShading设置为true一样。是否有我缺少的参数可以设置(在深度材质上或在SSAO着色器本身中),使SSAO不显示原始网格三角形,而是平滑?SSAOPass使用的depthMaterial在默认情况下具有flatShading=f

我正在使用Three.js r97,在我的场景中,我有一个使用缓冲几何体和有效法线的网格。当我设置material.flatShading=false时,我看到一个平滑的网格,但当我将SSAO后处理应用于该网格()时,我可以看到网格三角形,就好像它的原始材质flatShading设置为true一样。是否有我缺少的参数可以设置(在深度材质上或在SSAO着色器本身中),使SSAO不显示原始网格三角形,而是平滑?SSAOPass使用的depthMaterial在默认情况下具有flatShading=false,但在本例中似乎并不重要。 请看下面的图片。如果需要的话,我很乐意提供更多细节,因为我已经在这个问题上纠缠了好几天了,现在甚至不确定它是否可以完成,除了通过使用半径、aoClamp和lumInfluence参数来降低SSAO三角形的精细度

网格-平面着色(material.flatShading=true):

网格-平滑着色(material.flatShading=false):

网格-平滑着色+SSAO:

好的,对于任何想知道这一点的人来说——看起来SSAO在三分之一中已经被r75打破了: