テクスチャに奥行きを書き込もうとしています。直線的な奥行きが欲しいのでR16Fのテクスチャを使ってみました。次のようなテクスチャを定義しました。
glTexImage2D(GL_TEXTURE_2D, 0, GL_R16F_EXT, g_bufferWidth, g_bufferHeight, 0,
GL_RED_EXT, GL_HALF_FLOAT_OES, NULL);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
GL_TEXTURE_2D, g_texture, 0);
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16,
g_bufferWidth, g_bufferHeight);
しかし、iPhone5 でフレーム キャプチャを使用して Xcode でデバッグすると、カラー バッファーに不明なテクスチャが表示され、深度バッファーには何も書き込まれません。
また、深度テクスチャを作成してみました:
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, g_bufferWidth, g_bufferHeight, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, g_texture, 0);
しかし、この場合も、深度バッファには何も書き込まれていないようです。
深度バッファにレンダリングする唯一の方法は、最初のテクスチャを RGBA32 として定義することです...
EXT_color_buffer_half_float と深度拡張機能は iOS6 でアクティブになっていませんか??