我使用this link中的代码来映射人脸纹理。此代码使用GLKIT来呈现图像。代码可以在模拟器中正常工作,但如果我在设备中运行,则代码不起作用。下面是它在设备中运行的图像的屏幕截图,而不是在我的ipad中。GLKit中的纹理映射不适用于设备
码I用于加载纹理:模拟器的
- (void)loadTexture:(UIImage *)textureImage
{
glGenTextures(1, &_texture);
glBindTexture(GL_TEXTURE_2D, _texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
CGImageRef cgImage = textureImage.CGImage;
float imageWidth = CGImageGetWidth(cgImage);
float imageHeight = CGImageGetHeight(cgImage);
CFDataRef data = CGDataProviderCopyData(CGImageGetDataProvider(cgImage));
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, imageWidth, imageHeight, 0, GL_RGBA,
GL_UNSIGNED_BYTE, CFDataGetBytePtr(data));
}
图片:
在装置中的相同的代码给出以下输出:
有什么我失踪了?
可以有人请回答我的问题!! – 2vision2 2013-03-20 03:58:51
检查:http://stackoverflow.com/a/7952288/2128327 – 2013-03-26 17:10:09