我目前正在尝试实施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;
}