0

私はRPGゲームを作ろうとしていますが、タイル状の地図を表示したいと思います。

私が今していることは、タイルごとにその位置を計算し、それが表示領域にある場合は、テクスチャをバインドし、テクスチャ座標を設定し、2つの三角形を使用して正方形を描画します。

すべてが非常にうまく機能しましたが、いくつかのタイルの間に黒い線が入ることがよくあり、これは非常に迷惑です。これらの黒い線をどのように取り除くか、またはopenglを使用してタイリングを行うためのより良い方法がありますか

4

1 に答える 1

2

もちろん、コードやスクリーンショットなしで問題の原因を知ることは非常に困難ですが、私は最善の推測をすることができます。まず、座標がタイルの間にしっかりと詰め込まれている場合、タイルの間に亀裂が発生しないようにする必要があります。密集しているということは、タイルの下部が下のタイルの上部とまったく同じY座標値を持っていることを意味します。

ただし、テクスチャの繰り返しと線形フィルタリングが原因で、タイルのエッジに問題が発生している可能性もあります。この場合、次を使用して解決できます。

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);

テクスチャを回転させても、亀裂はまだ表示されますか?その場合、タイル間に幾何学的な間隔が必要です。たぶん、何かがあなたのコードのどこかでintに丸められているのでしょうか?

これらは私の最善の推測ですが、より良い答えを得るために、問題のスクリーンショットをアップロードすることをお勧めします。頑張ってください!

于 2012-09-29T16:56:23.957 に答える