2011-11-13 5 views
1

私は、テクスチャ付きクワッドを使用して、スプライトシートからタイルのグリッドをレンダリングしています。テクスチャクワッド自体の中に人工物でスプライトシートにテクスチャを使用するときにギャップ/ボーダーを防止する

visual gaps between tiled quads

GL_LINEARはこれを修正するのではなくGL_NEARESTを使用してテクスチャをスケーリングするテクスチャパラメータを変更するが、結果:レンダリング時残念ながら、小さな個々のタイルの間にギャップがあります。指定されたUV座標外のピクセルを使ってGL_LINEARが補間するのを防ぐ方法がありますか?これを修正する方法に関する他の提案はありますか?

tile sheet that causes gaps

答えて

0

あなたはフロート(32ビット)以下のものを使用している、あなたのテクスチャマップの精度の問題のように見える:

参考のために、ここで私が使用していスプライトシートですか?あなたはどのように座標を計算しますか?

また、テクスチャ間に1ピクセルの境界線を残しておくと、時には丸め誤差が発生する場合があります。

私はこのプログラムhttp://www.texturepacker.com/(どのような方法でも関係ない)を使用し、テクスチャマップとUV座標を取得すると、テクスチャの周りのパディングを指定したり、テクスチャの周りの最後の色を押し出すこともできますだから、奇妙な丸めのプロブを取得しても、常に完璧なシームを得ることができます。

私はまず精度と計算をチェックします。

+0

私は浮動小数点数を使用していますが、単純にxとyの整数タイル座標を8.0fで割ってuv座標を計算しています。 u = tile_x/8.0f; u + 1 =(tile_x + 1)/8.0f;。内部のタイルを指定するときにテクスチャを適切にクランプしないテクスチャフィルタリングには問題があると私は確信しています。各タイルに罫線を追加するのは現時点では唯一の合理的な方法ですが、これは他のプログラムのスプライトシートでは行われていないので奇妙です。 – zennehoy

+0

私の答えで書いたそのプログラムには、これらの問題を解決するための2つの選択肢があります。そのため、いくつかの状況で発生する必要がありますが、私にも起こりませんでした。 – led42

関連する問題