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 に答える