-1

長方形のテクスチャを使用して、OpenGL で一部のサーフェスをテッセレーションする必要があります。簡単にするために、それを単一の三角形にします。テクスチャは側面で互いに接触し、重なりません。これは、GL_TEXTURE_WRAP_S と GL_TEXTURE_WRAP_T を GL_CLAMP_TO_BORDER に設定し、テクスチャ座標を適切に調整することによって行われます。GL_TEXTURE_MIN_FILTER および GL_TEXTURE_MAG_FILTER が GL_NEAREST に設定されている間はすべてうまくいきますが、GL_LINEAR ファイリングおよび/または異方性フィルタリングを適用したい場合は、次のアリファクト アペラ: テクスチャ境界ピクセルのアルファが徐々に透明になり、背景色の線が隣接するテクスチャ間で見えるようになります。

線形フィルタリングを維持しながら、複数のテクスチャを 1 つにマージせずにこのアーティファクトを回避するにはどうすればよいですか?

4

1 に答える 1

0

おそらくGL_CLAMP_TO_EDGEの代わりに必要ですGL_CLAMP_TO_BORDER。境界線にクランプすると、エッジピクセルと境界線の色が混合されます。境界線の色は(0,0,0,0)に初期化されます。これがあなたの透明性の源です。

テクスチャを実際のエッジに固定するか、不透明な境界線の色を設定します。

于 2012-10-02T20:44:11.087 に答える