我正在绘制每个顶点只有x和y坐标的三角形:
glVertexPointer(2, GL_FLOAT, 0, vertices);
有时当我在另一个三角形上绘制一个三角形时,它们似乎是共面的,而且表面抖动,因为它们在空间中共享完全相同的表面。
有没有办法说“OpenGL,我希望你在不使用3D坐标的情况下在它下面的任何东西上绘制这个三角形”,或者我是否必须启用深度测试并使用3D坐标来控制Z-index ?
答案 0 :(得分:3)
如果你想在之前的帧缓冲区中的任何顶部渲染三角形,你可以完全禁用深度测试。但是如果您需要一些与绘制顺序不同的自定义顺序,那么您将无法添加额外的深度信息(以第三个z坐标的形式)。没有办法说OpenGL “渲染以下内容,但z坐标集体设置为某个值”。您可以说“在任何有效的东西上呈现以下内容或”在其转换顶点的任何深度结果上呈现以下内容“。