c++ - 远处的物体与近处的物体重叠。这是为什么?我该如何解决它?

标签 c++ visual-c++ opengl

输出如下: Screenshot of objects overlapping

我的代码是这样的:

(...)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glColor3f(1.0f, 1.0f, 1.0f);
glTranslatef(-10,0,0);
glRotatef(-17.14f,0,1,0);

////////////////////////////////////////////////////////////////////
for(int i=1;i<=21;i++){
    glTranslatef(10,0,0);
    glRotatef(17.14f,0,1,0);

    glBegin(GL_QUADS);
    glTexCoord2f(0.0f, 0.0f);glVertex3f(-BOX_SIZE / 2, -BOX_SIZE / 2, BOX_SIZE / 2);
    glTexCoord2f(1.0f, 0.0f);glVertex3f(BOX_SIZE / 2, -BOX_SIZE / 2, BOX_SIZE / 2);
    glTexCoord2f(1.0f, 1.0f);glVertex3f(BOX_SIZE / 2, BOX_SIZE / 2, BOX_SIZE / 2);
    glTexCoord2f(0.0f, 1.0f);glVertex3f(-BOX_SIZE / 2, BOX_SIZE / 2, BOX_SIZE / 2);
    glEnd();

}
(...)

它基本上是一个图像旋转盘(稍后会更改它们)。

最佳答案

启用depth buffering .

关于c++ - 远处的物体与近处的物体重叠。这是为什么?我该如何解决它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10176049/

相关文章:

c++ - 使用临时字符串构建 istringstream

c++ - 允许在构造函数中创建新变量

C 程序链接错误?

c++ - Travis CI 构建矩阵包含虚假条目?

c++ - 比较两个位图(设备上下文 - 文件)

visual-c++ - 如何检测是否需要安装VCRedist?

c++ - OpenGL32.lib 链接不正确

opengl - 在 GLFW3 中请求特定的 OpenGL 上下文版本

opengl - 级联阴影映射查找决策/gl_FragCoord.z

c++ - 在基对象上调用来自 C++ 类的重载、派生函数不会调用重载函数