0

テクスチャに奥行きを書き込もうとしています。直線的な奥行きが欲しいので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 でアクティブになっていませんか??

4

0 に答える 0