我有一种感觉,我在这里忽略了一些简单的东西......
我有一个 AR 应用程序,可在标记检测时显示 3D 对象。该对象只是一个平坦的 3d 矩形 - 我可以毫无问题地将图像纹理绑定到该矩形。但是,我需要将视频文件 (.m4v) 绑定为对象纹理。我正在使用AVAssetReader成功读取文件,但是当像这样绑定纹理时,对象只是显示为白色。
CMSampleBufferRef sampleBuffer = [mOutput copyNextSampleBuffer];
CVImageBufferRef pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
CVPixelBufferLockBaseAddress( pixelBuffer, 0 );
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 320, 240, 0, GL_BGRA, GL_UNSIGNED_BYTE, CVPixelBufferGetBaseAddress(pixelBuffer));
CVPixelBufferUnlockBaseAddress( pixelBuffer, 0 );
CFRelease(sampleBuffer);
我很感激你能提供的任何帮助。谢谢!