0

以前のゲームをC#からJavaに移植しようとしています。タイルを描画できるグラフィックレイヤーをどのように作成できるのか疑問に思っています。

4

2 に答える 2

0

私にとっては(2Dゲームで)最もうまくいきます:

  • Zバッファ:最初にZバッファを設定し、描画するたびにZ値を定義するだけです(ただし、半分の透明なオブジェクトでは失敗します)
  • 描画順序を知る: 最初に下層を描画し、上層を最後に描画します (z-Buffer より遅い)
于 2012-12-04T06:34:34.703 に答える
0

深度バッファ、カラー バッファ、ステンシル バッファの他に、Frame Buffer Object(FBO) http://www.songho.ca/opengl/gl_fbo.htmlを使用できます。

描画先として使用できます。たとえば、ミラーを作成するには、最初にミラーの視点を一時的なテクスチャにレンダリングし、次にこのテクスチャでミラーをレンダリングします。各レイヤーのテクスチャを作成できるのと同じ方法で、必要なレイヤーに正確に描画し、最終的にすべてのレイヤーを異なる高さでレンダリングします(またはそれらで何をしたいか)。

または、レイヤー「n」に何かを描画したいときにティムがコメントしたように、高さz = nでレンダリングしますが、その方法では物理レイヤー画像はありませんが、それらすべてが組み合わされているため、画像処理後にそれらが必要な場合(異なるレイヤーの特殊効果)またはそれらを画像として保存するには、FBOを使用する必要があります。ただし、場合によっては、別のレイヤーに描画するときに別のシェーダーを適用することができます。

FBO は使いにくいですが、非常に強力なツールです。

于 2012-06-12T07:23:59.670 に答える