我目前正在尝试实施 SSAO。但我目前的结果似乎更像是一个边缘突出而不是真正的 ssao。请注意,我还没有模糊结果。但我想如果我模糊这条细线,它几乎会消失。我玩了不同的半径等,但没有任何改变。:(
这是我的线性深度纹理(注意远为 1000,这就是为什么这么暗)和我的正常纹理。
最后是我的 ssao 着色器:http: //jsfiddle.net/Peters_Stuff/Bqx8X/
这就是我生成示例内核的方式:
this.kernel = [];
this.kernelSize = size;
var max = 1;
var min = -1;
//kernel
for (var i = 0; i < this.kernelSize; i++){
this.kernel.push(Math.random() * (max - min) + min);
this.kernel.push(Math.random() * (max - min) + min);
this.kernel.push(Math.random());
}
var a = Math.random();
for (var i = 0; i < this.kernel.length; i++){
this.kernel[i] *= a;
}