私はRPGゲームを作ろうとしていますが、タイル状の地図を表示したいと思います。
私が今していることは、タイルごとにその位置を計算し、それが表示領域にある場合は、テクスチャをバインドし、テクスチャ座標を設定し、2つの三角形を使用して正方形を描画します。
すべてが非常にうまく機能しましたが、いくつかのタイルの間に黒い線が入ることがよくあり、これは非常に迷惑です。これらの黒い線をどのように取り除くか、またはopenglを使用してタイリングを行うためのより良い方法がありますか
私はRPGゲームを作ろうとしていますが、タイル状の地図を表示したいと思います。
私が今していることは、タイルごとにその位置を計算し、それが表示領域にある場合は、テクスチャをバインドし、テクスチャ座標を設定し、2つの三角形を使用して正方形を描画します。
すべてが非常にうまく機能しましたが、いくつかのタイルの間に黒い線が入ることがよくあり、これは非常に迷惑です。これらの黒い線をどのように取り除くか、またはopenglを使用してタイリングを行うためのより良い方法がありますか
もちろん、コードやスクリーンショットなしで問題の原因を知ることは非常に困難ですが、私は最善の推測をすることができます。まず、座標がタイルの間にしっかりと詰め込まれている場合、タイルの間に亀裂が発生しないようにする必要があります。密集しているということは、タイルの下部が下のタイルの上部とまったく同じ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に丸められているのでしょうか?
これらは私の最善の推測ですが、より良い答えを得るために、問題のスクリーンショットをアップロードすることをお勧めします。頑張ってください!