質問

今週は約30時間を無駄にし、コードを書き、書き直しましたが、OpenGL Depth Bufferがどのように機能するかを誤解したと信じています。私が試したものはすべて失敗しました。 OpenGLのAndroid実装のエラーとなる可能性のあるものを見つけることで、自分の問題を解決しました。

このAPIエントリを参照してください:

http://www.opengl.org/sdk/docs/man/xhtml/glcleardepth.xml

void glcleardepth(glclampd深さ);

深さバッファーがクリアされたときに使用される深度値を指定します。初期値は1です。

Androidの実装には、このコマンドの2つのバージョンがあります。

  • glcleardepthx 整数値を取得し、0-1をクランプします

  • glcleardepthf Floating Point値を取得し、0-1をクランプします

使用する場合 glcleardepthf(1) 次に、期待する結果が得られます。使用する場合 glcleardepthx(1), 、私がやっていたとき、あなたは異なる結果を得る。 (1がデフォルト値であることに注意してくださいが、引数1でコマンドを呼び出すと、まったく呼び出さないこととは異なる結果が生成されます。)まったく何が起こっているのかわかりませんが、深さバッファーは何とは異なる値にクリアされていました。指定しました。

役に立ちましたか?

解決

合格してみてください 65536glClearDepthx().

GLfixed S15.16固定点です 1.0 で表されます 2^16 また 65536.

また、あなたは通常のOpenGLドキュメントにリンクしました、 OpenGL ES 1.1 ドキュメント。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top