0

目前,我已GL_DEPTH_TEST启用并将其用于纹理。但是,我想绘制一个具有一定深度/z 值的无纹理矩形。

glDisable(GL_TEXTURE_2D);
glColor3f(colour.x, colour.y, colour.z);
glRects((short) rect.x, (short) rect.y, (short) rect.z, (short) rect.w);
glEnable(GL_TEXTURE_2D);

上面的代码绘制了正方形。如何为正方形设置 Z 或深度值,以便深度测试可以使用它?

4

1 回答 1

0

glRect函数族总是在 0 处隐式绘制。所以z你有两个选择:

  1. 设置相同的转换,将z=0飞机放在您喜欢的位置。
  2. 根本不要使用glRect,只需在z您喜欢的坐标处使用 4 个顶点绘制一个矩形。

您应该知道,您粘贴的代码中的每一行都依赖于已弃用的OpenGL 功能,glRect即使对于已弃用的代码,它本身也是一个相当晦涩的函数。

于 2015-08-08T16:55:37.683 回答