2008-09-10 114 views
1

当来自CallList的对象与近平面相交时,我得到闪烁......我该怎么办?OpenGl和闪烁

使用OpenGL和SDL的Im。

是的,它是双缓冲。

回答

5

这听起来像你得到Z-战斗。

“Z-格斗是三维渲染中的一种现象,当两个或更多基元在z缓冲区中具有相似的值时发生,并且在共面多边形中特别普遍,该效果导致伪随机像素被渲染一个多边形或另一个以非确定性方式的颜色,随场景动画而变化,导致一个多边形“赢得”z测试,然后是另一个多边形,等等。“ (From wikipedia

您可以在OpenGL FAQ中获得有关该问题的更多信息。

glPolygonOffset可能会有所帮助,但您也可以自行解决问题。 Tom Forsyth在他的FAQ中有一个很好的解释说明:它讲述了ZBIAS,但这只是DirectX的equivilent。

0

啊,你的意思是附近平面。 :)

嗯......在同一平面上绘制多边形时,另一件事是使用glPolygonOffset

从描述

glPolygonOffset is useful for rendering hidden-line images, 
    for applying decals to surfaces, and for rendering solids 
    with highlighted edges. 
3

问题是我的旋转函数有一些浮点错误,这些错误搞砸了我的model_view矩阵。

你们没有人能猜到它,因为浪费你的时间而感到遗憾。

虽然我不认为移动近平面应该甚至被认为是解决任何类型问题的方法,但通常其他问题是错误的,因为openGL确实支持与近平面的多边形交集。