Я хочу использовать глубину DataMap в качестве текстуры от камеры истинной глубины iPhoneX в моем проекте OpenGLES.Похоже, что вы скачали несколько образцов Swift, можно создать и опробовать глубину карты как текстуру с плавающей точкой на Metal.Но в OpenGLES единственный способ создать текстуру глубины из буфера глубины -
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, depthWidth, depthHeight, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_SHORT, CVPixelBufferGetBaseAddress(depthBuffer));
. Значение образца отличается от значения, экспортируемого как CIImage из пиксельного типа DisparityFloat16.Значение намного ниже, а не линейный масштаб по сравнению с CIImage.
Это значение выборки в OpenGLES
Это через код: CIImage * image = [CIImage imageWithCVImageBuffer: deepData.depthDataMap];
У кого-нибудь есть такая же проблема?