gpt4 book ai didi

iphone - 释放由 GLKTextureLoader 分配的纹理(GLKTextureInfo 对象)

转载 作者:技术小花猫 更新时间:2023-10-29 10:43:24 24 4
gpt4 key购买 nike

iOS 开发的新手,尤其是 iOS 5 上与 OpenGL 相关的新功能,所以如果我的问题很基础,我深表歉意。

我正在开发的应用程序旨在接收相机帧并通过 OpenGL ES 在屏幕上显示它们(图形人员将接管它并添加我知之甚少的实际 OpenGL 绘图)。该应用程序是 XCode4 开发的,目标是运行 iOS 5 的 iPhone4。目前,我使用了 ARC 和 GLKit 功能,除了在将图像加载为纹理时发生内存泄漏外,一切正常。该应用很快就会收到“内存警告”。

具体想问一下如何释放分配给

的贴图
@property(retain) GLKTextureInfo *texture;

-(void)setTextureCGImage:(CGImageRef)image
{
NSError *error;

self.texture = [GLKTextureLoader textureWithCGImage:image options:nil error:&error];

if (error)
{
NSLog(@"Error loading texture from image: %@",error);
}
}

image 是从相机框架构建的 quartz 图像(来自 apple 的示例代码)。我知道问题不在代码的那部分,因为如果我禁用分配,应用程序不会收到警告。

最佳答案

我认为这是一个 super hacky 的解决方案,但它似乎有效:

在赋值之前添加以下内容:

GLuint name = self.texture.name;
glDeleteTextures(1, &name);

如果有更官方的方式(或者如果这是官方方式),如果有人能告诉我,我将不胜感激。

关于iphone - 释放由 GLKTextureLoader 分配的纹理(GLKTextureInfo 对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8720221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com