0

我正在使用 glutSolidSphere 渲染许多球体。边界处有线条,未以正确的颜色呈现:

边界线

如果我没记错的话,我的 AMD 卡没有这个问题,这是 nVidia 上的一个新问题。

相关的opengl设置(不确定我得到了所有这些,它们分散在代码中)是:

// set 2 lights, both having specular, ambient and diffuse components.
// and then:
glDisable(GL_CULL_FACE);
glLightModeli(GL_LIGHT_MODEL_LOCAL_VIEWER,1);
glLightModeli(GL_LIGHT_MODEL_TWO_SIDE,1);
glColorMaterial(GL_FRONT_AND_BACK,GL_AMBIENT_AND_DIFFUSE);
glEnable(GL_COLOR_MATERIAL);
glEnable(GL_BLEND);
glEnable(GL_LINE_SMOOTH);
glEnable(GL_POLYGON_SMOOTH);
glShadeModel(GL_SMOOTH);
glEnable(GL_RESCALE_NORMAL);
4

1 回答 1

1

如果您关闭 GL_LINE_SMOOTH 和 GL_POLYGON_SMOOTH,您还会遇到问题吗?

你是什​​么混合模式?您是否从最远->最近绘制球体以获得正确的混合(并不是说您可以保证球体中的三角形将以正确的顺序呈现)。

如果这是问题并使用 FSAA,我建议放弃多边形平滑。

于 2012-08-31T11:15:06.670 回答