在 OpenGL 中,启用深度测试后,仍然发现一些三角形错误重叠

In OpenGL, with depth test enabled, still find some triangles overlaps wrongly

我绕 X 轴旋转盒子

这些是 运行 我的代码:

时拍摄的图像

example1

example2

example3 a plane has lost

我用了glEnable(GL_DEPTH_TEST),画之前glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)

为什么?

您的 window(默认帧缓冲区)根本没有深度缓冲区。您必须使用 sf::ContextSettings class.

设置带有深度缓冲区的 OpenGL window

Using OpenGL in a SFML window:

ContextSettings settings;
settings.depthBits = 24;