如何在WebGL中启用隐藏曲面删除?

时间:2013-07-12 20:47:34

标签: webgl

我开始学习WebGL。然后,我做了一个演示 然而,似乎'gl.DEPTH_TEST'不起作用。

这是演示。
https://dl.dropboxusercontent.com/u/1236764/temp/stackoverflow_20130713/index.html

如何启用隐藏曲面移除?
我想知道是否有人能给我一些提示。

1 个答案:

答案 0 :(得分:1)

var near = 0;
var far = 100;
mat4.perspective( projectionMatrix, fov, aspect, near, far );

您指定的近平面为0.由于计算深度缓冲区值的方式,这会导致深度缓冲区完全无用。

您应该将near设置为大于零。设置近平面越远,深度缓冲区的功能就越好。

因此,最佳设置就在场景中最接近的事物前面 - 在您的情况下,这将是eye向量的长度减去茶壶的边界球体的半径。但对于简单的程序,只需设置合理缩放的数字(如0.1或1)通常就足够了。