4

これは、OpenGLアプリケーションで発生したかなり古い問題です。

私はかなり複雑なモデルを持っています。その中のいくつかのポリゴンはテクスチャがなく、glColor()でプレーンカラーを使用して色付けされ、他のポリゴンはテクスチャが付けられています。一部のテクスチャはテクスチャのないポリゴンと同じ色であり、2つの間に目に見える継ぎ目があってはなりません。

問題は、光源の周囲成分を上げると、2種類のポリゴンの間に継ぎ目ができることです。

この画像を参照してください:http: //www.shiny.co.il/shooshx/colorBug2.png

左の画像には周囲光がなく、右の画像には(0.2,0.2,0.2)の周囲光があります。

テクスチャの色のRGB値は、色付きの面のRGB値と同じです。テクスチャアルファはどこでも1.0に設定されています。

テクスチャをシェーディングするには、GL_MODULATEを使用します。

誰かがそれが起こる理由と可能な解決策を考えることができますか?

4

1 に答える 1

2

で色を設定しているとのglColor()ことですGL_COLOR_MATERIALが、オンになっていると思いますか?どのような設定に使用しglColorMaterial()ますか? この場合GL_AMBIENT_AND_DIFFUSEglColor()呼び出しがアンビエント カラーとディフューズ カラーに影響するように、 にする必要があります。(これがデフォルトです。)

glMaterial()テクスチャ マップされた面をレンダリングする前に、すべてのマテリアル カラーを ( で) 白に設定することもできます。いくつかの設定 (覚えていない) では、テクスチャ自体が現在の色によって変調されます。

これが役立つか、少なくとも有用な方向性を示してくれることを願っています.

于 2008-09-19T01:07:21.223 に答える