我开始学习WebGL。然后,我做了一个演示 然而,似乎'gl.DEPTH_TEST'不起作用。
这是演示。
https://dl.dropboxusercontent.com/u/1236764/temp/stackoverflow_20130713/index.html
如何启用隐藏曲面移除?
我想知道是否有人能给我一些提示。
答案 0 :(得分:1)
var near = 0;
var far = 100;
mat4.perspective( projectionMatrix, fov, aspect, near, far );
您指定的近平面为0.由于计算深度缓冲区值的方式,这会导致深度缓冲区完全无用。
您应该将near
设置为大于零。设置近平面越远,深度缓冲区的功能就越好。
因此,最佳设置就在场景中最接近的事物前面 - 在您的情况下,这将是eye
向量的长度减去茶壶的边界球体的半径。但对于简单的程序,只需设置合理缩放的数字(如0.1或1)通常就足够了。