2

画面分割ゲームを作っています。分割画面のそれぞれをレンダリングすると、画面の境界の外側にオーバーラップが発生します。

画面は 10x10 タイルの大きさになります。分割画面ビューが中央に配置されていると仮定して、タイルの半分を右に移動すると、画面に表示されるタイルの半分が左端と右端に表示されます。

ただし、タイルの半分をレンダリングすることはできないため、タイル全体がレンダリングされます。余分なタイルをレンダリングする必要があります (実際には、簡単にするために 12 をレンダリングします)。これにより、移動時に端に黒い隙間ができなくなります。

分割画面が画面のフル サイズである場合、このオーバーラップは問題になりません。ただし、2 つの分割画面を並べてレンダリングすると、最後に描画された方が、表示されているハーフ タイルの残りの半分など、線の外側に出るビットがある場合、他方にオーバーラップします。

解決策は、各分割画面をテクスチャにレンダリングし、テクスチャを画面に描画して、境界に重なるビットを切り取ることだと考えています。

エフェクトの変換なしで 1 つのテクスチャを画面にレンダリングするため、これに関連する多くのパフォーマンス オーバーヘッドが発生する理由がわかりません。しかし、私が間違っているのではないかと思っています。おそらく、これによりゲームの速度が大幅に低下するのではないでしょうか。

より良い解決策はありますか、それともこれで問題ありませんか?

4

1 に答える 1

1

一般的に、これは無視できるはずです。私がこれまでに使用したすべてのグラフィックハードウェアは、ビデオメモリの交互バッファにレンダリングされます。一般に、メモリ内の任意のテクスチャにレンダリングターゲットを設定するのも同じくらい簡単です。その場合、唯一のオーバーヘッドは、テクスチャをレンダーバッファにコピーする操作です。ゼロ時間ではありませんが、確かにほとんどありません。私よりもはるかに賢い場合は、標準のレンダーバッファのセグメントをテクスチャとして扱い、コピーを回避できる可能性があります。しかし、私は確かに不特定、恣意的、または架空のグラフィックシステムの専門家ではないので、これ以上の情報がなければ、私はそれほど贅沢であるべきではないと思います;)

于 2012-03-05T22:40:28.943 に答える