如何通过ios中的Open G1插入图像?

时间:2014-08-20 05:03:49

标签: ios opengl-es

我刚开始学习OpenGl,我读过有关渲染和纹理图像的内容。如果有人可以提供插入图像的简单示例。

1 个答案:

答案 0 :(得分:1)

OpenGL本身不提供API来从图像文件生成纹理。我们之前必须读取图像文件并将其转换为位图数据以在OpenGL中使用纹理,但GLKTextureLoader中的GLKit类使我们能够自动从图像生成纹理。

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"mushroom" ofType:@"png"];
GLKTextureInfo* textureInfo =
  [GLKTextureLoader textureWithContentsOfFile:filePath options:nil error:nil];
if (textureInfo) {
    NSLog(@"Texture loaded successfully. name = %d size = (%d x %d)",
          textureInfo.name, textureInfo.width, textureInfo.height);
}

textureWithContentsOfFile:options:error:方法的返回值是GLKTextureInfo类的实例。 GLKTextureInfo对象包含有关纹理的信息,例如宽度,高度......有一个名为'name'的属性(记录为'glName',它应该是错误打印)。我们在此属性中使用value来指定GLKBaseEffect中的纹理(将在后面描述)

GLKTextureLoader是一个用于加载纹理的类,所以我们应该通过自己释放纹理。在glDeleteTextures对象中使用'name'属性值调用GLKTextureInfo

在博客中找到了这个很好的讨论。希望这有助于.. :))