0

あなたが私の Android プロジェクトを宣伝しているときに、私は奇妙なことを発見しました。

Android OpenGL ES 2D グラフィックスで海洋地図を表示できます。

そのため、オブジェクトの位相順序を決定するためだけに使用するには、値を約 0.0001 Z 軸に減らします。

とりあえずオブジェクトの1000倍以上のサイズを試してみました。

すると、ズームイン/ズームアウトに依存する現象、一部のオブジェクトがちらつく現象が発生しました。

なぜこのような問題が発生するのでしょうか??

これが解決できない場合は対象端末固有の問題でしょうか?

それともAndroid OpenGL ES自体の問題でしょうか?

***続きを読む. 下の写真は、実機の画面を毎回スクリーンショットしたものです。

ここに画像の説明を入力

***ズームイン/ズームアウトするたびにこのような現象が発生する場合があります。

4

1 に答える 1

2

あなたが経験しているのはZファイティングだと思います:http://en.wikipedia.org/wiki/Z-fighting

これは、オブジェクトが近すぎて、特定のピクセルの z バッファーがどのピクセルが他のピクセルより上か下かを区別できないという事実によるものです。次の 3 つの選択肢があります。

1) 投影を調整します。具体的には、znearzfar の値を調整します。詳細はこちら: http://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm

2) 両方のオブジェクト間の距離を広げます

3) 2D シーンを描画しているため、正射影を使用する場合があります。その場合、深度バッファリングをまったく使用せず、オブジェクトを後ろから前に描画するだけの価値があるかもしれません (Painters アルゴリズム、http://en.wikipedia.org/wiki/Painters_algorithm )。

于 2013-10-21T10:23:47.680 に答える