このAppleサンプルコードGLEssentials sample codeをダウンロードしました。デプスバッファでいくつかの実験をしたいので、まずBUFFER_BITSをチェックすることにしました。OpenGLES 2.0間違ったデプスバッファビット
Iは-initWithDefaultFBO方法でOpenGLRenderer.mに次のコードを追加:私は次の出力を有し
// code from sample
NSLog(@"%s %s\n", glGetString(GL_RENDERER), glGetString(GL_VERSION));
// buffer bits check
GLint depthBits;
glGetIntegerv(GL_DEPTH_BITS, &depthBits);
printf("depthBits: %d\n", depthBits);
:
GLEssentials[3630:112826] Apple Software Renderer OpenGL ES 2.0 APPLE-12.4.2
depthBits: 24
しかしES2Renderer.mに、私は次の行を参照:
を// using 16-bit depth buffer
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, backingWidth, backingHeight);
なぜ起こったのですか?それはバグですか?
PS:私はiosデバイスがないので、iOSシミュレータでのみテストしました。
OpenGLESリンク仕様をありがとう、私はそれを完全に忘れています。 – frankWhite