Kyl*_*yle 5 opengl-es depth-buffer ios
我似乎无法在iOS 4.3上读取OpenGL ES2中的深度缓冲区值
afDepthPixels = (float*)malloc(sizeof(float) * iScreenWidth * iScreenHeight);
glReadPixels(0, 0, iScreenWidth, iScreenHeight, GL_DEPTH_COMPONENT, GL_FLOAT, afDepthPixels);
Run Code Online (Sandbox Code Playgroud)
我的深度缓冲区当前绑定到位并且可操作,但是该函数只读取0值,并且它似乎几乎立即返回.如果我给它一个GL_RGBA,它将需要一段时间,并且确实会返回结果.iOS上的ES2是否不支持此功能?
谢谢!
如您所知,ES 2.x不支持读取深度缓冲区.根据glReadPixels手册页(直接来自Khronos),ES 2中"格式"的唯一允许值是GL_ALPHA,GL_RGBA和GL_RGB.
从内存来看,iOS的最新版本支持深度纹理,因此应该可以运行像素着色器将深度缓冲区转换为可以读取为RGBA的内容,如果您处于死胡同的话.
| 归档时间: |
|
| 查看次数: |
1671 次 |
| 最近记录: |