相机帧到UIImage到OpenGL渲染提供了一个奇怪的形象

之前

后

我正在提取UIImage

NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
UIImage *image = [UIImage imageWithData:imageData];

然后我创build一个OpenGL纹理并呈现它。 然后我从帧缓冲区提取UIImage,但它出来的错误,你可以看到。

我试着玩纹理顶点数组,但它保持不变。

这是坐标:

 const GLfloat squareVertices[] = { -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, 1.0f, 1.0f, }; const GLfloat textureVertices[] = { 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, }; glVertexAttribPointer(ATTRIB_VERTEX, 2, GL_FLOAT, 0, 0, squareVertices); glEnableVertexAttribArray(ATTRIB_VERTEX); glVertexAttribPointer(ATTRIB_TEXTUREPOSITON, 2, GL_FLOAT, 0, 0, textureVertices); glEnableVertexAttribArray(ATTRIB_TEXTUREPOSITON);` 

这是你的纹理坐标问题。 检查他们正确。