【发布时间】:2019-07-26 11:00:52
【问题描述】:
我想在我的 OpenGLES 项目中使用 depthDataMap 作为 iPhoneX 真实深度相机的纹理。已经下载了一些 Swift 示例,似乎可以在 Metal 上创建 depthMap 并将其采样为浮动纹理。但在 OpenGLES 上,从深度缓冲区创建深度纹理的唯一方法是,
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, depthWidth, depthHeight, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, CVPixelBufferGetBaseAddress(depthBuffer));
样本值与从 DisparityFloat16 像素类型导出为 CIImage 的值不同。与 CIImage 相比,该值要低得多,而且不是线性比例。
这是通过代码:CIImage *image = [CIImage imageWithCVImageBuffer:depthData.depthDataMap];
有人有同样的问题吗?
【问题讨论】:
标签: ios opengl-es metal truedepth-camera avdepthdata