我正在使用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);
最佳答案
如果禁用“GL_LINE_SMOOTH”和“GL_POLYGON_SMOOTH”,是否仍然会出现此问题?
你的混合模式是什么?你是从最远的->最接近的地方绘制球体来获得正确的混合(并不是说你可以保证三角形i球体将以正确的顺序呈现)。
如果这是问题所在,我建议放弃多边形平滑并使用FSAA。