0

我正在绘制每个顶点只有 x 和 y 坐标的三角形:

glVertexPointer(2, GL_FLOAT, 0, vertices);

有时当我在另一个三角形上绘制一个三角形时,它们似乎是共面的,并且表面会抖动,因为它们在空间中共享完全相同的表面。

有没有办法说“OpenGL,我希望你在它下面的任何东西上绘制这个三角形”而不使用 3D 坐标,还是我必须启用深度测试并使用 3D 坐标来控制 Z 索引?

4

1 回答 1

3

如果您想在之前帧缓冲区中的任何内容之上渲染三角形,您可以完全禁用深度测试。但是,如果您需要一些不同于绘制顺序的自定义顺序,那么您将无法添加额外的深度信息(以第三个 z 坐标的形式)。无法对 OpenGL 说“渲染以下内容,但将 z 坐标共同设置为某个值”。您可以说“在现有的任何东西之上渲染以下内容”“在其变换顶点产生的任何深度上渲染以下内容”

于 2013-11-25T10:53:15.100 回答