OpenGL Cube 奇怪的错误
Posted
技术标签:
【中文标题】OpenGL Cube 奇怪的错误【英文标题】:OpenGL Cube weird bug 【发布时间】:2012-11-12 12:27:45 【问题描述】:我在 LWJGL、OpenGL 中渲染一个简单的 VBO 立方体。 6 个具有正确法线、顶点和 RGB 颜色的四边形。但是,我遇到了一个奇怪的错误。
关于什么可能导致此错误的任何想法?
谢谢!
编辑:立方体绘制代码:
glPushMatrix();
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vertex_buffer_id);
GL11.glVertexPointer(3, GL11.GL_FLOAT, 40, 0);
GL11.glNormalPointer(GL11.GL_FLOAT, 40, 12);
GL11.glColorPointer(4, GL11.GL_FLOAT, 40, 24);
GL11.glDrawArrays(GL11.GL_QUADS, 0, vertex_data_array.length / 10);
glPopMatrix();
【问题讨论】:
请发布您的代码。只是你画立方体的地方 【参考方案1】:发现问题。我的 zNear 设置为 0.00001。出于某种原因,当我将其更改为 0.01 时它运行良好。谢谢大家:)
【讨论】:
可能发生的情况是,如果您不剔除背面,取决于您用于近剪裁平面和远剪裁平面的值,您可能会在 zbuffer 中遇到一些不精确,这将导致后面的立方体面通过靠近边缘的前面的面流血。在此处查看第 12.050 节:opengl.org/archives/resources/faq/technical/depthbuffer.htm以上是关于OpenGL Cube 奇怪的错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 SDL_CreateWindow 时出现 SDL OpenGL 分段错误