OpenGL 在给定深度绘制矩形
OpenGL Draw Rectangle At Given Depth
目前,我启用了 GL_DEPTH_TEST
并将其用于纹理。但是,我想绘制一个具有特定 depth/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 值或深度值,以便进行深度测试?
glRect
函数族总是在 0 处隐含地用 z
绘制。所以你有两个选择:
- 设置相同的变换,将
z=0
平面放到您喜欢的位置。
- 根本不要使用
glRect
,只需在您喜欢的 z
坐标处使用 4 个顶点绘制一个矩形。
您应该知道,您粘贴的代码中的每一行 都依赖于已弃用 OpenGL 功能和glRect
本身即使对于已弃用的代码也是一个相当晦涩的函数。
目前,我启用了 GL_DEPTH_TEST
并将其用于纹理。但是,我想绘制一个具有特定 depth/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 值或深度值,以便进行深度测试?
glRect
函数族总是在 0 处隐含地用 z
绘制。所以你有两个选择:
- 设置相同的变换,将
z=0
平面放到您喜欢的位置。 - 根本不要使用
glRect
,只需在您喜欢的z
坐标处使用 4 个顶点绘制一个矩形。
您应该知道,您粘贴的代码中的每一行 都依赖于已弃用 OpenGL 功能和glRect
本身即使对于已弃用的代码也是一个相当晦涩的函数。