iphone - OpenGL ES代码修改

标签 iphone objective-c ios xcode opengl-es

我正在创建一个 opengl ES 项目,我试图显示一些纹理,一切正常,但问题是内存的使用,每 5 秒增加近 1 Mb,我想我做错了什么, 我没有使用任何 apple recommendations我肯定会托盘,但我想知道我的代码是否有一些错误,我是如何画的:

    // Generate the vertex buffer object (VBO)
glGenBuffers(1, &ui32Vbo);

// Bind the VBO so we can fill it with data
glBindBuffer(GL_ARRAY_BUFFER, ui32Vbo);

// Set the buffer's data
// Calculate verts size: (3 vertices * stride (3 GLfloats per each vertex))

glBufferData(GL_ARRAY_BUFFER, uiSize, verts, GL_STATIC_DRAW);

// Bind the VBO so we can fill it with data
glBindBuffer(GL_ARRAY_BUFFER, ui32Vbo);
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, 20, 0);    // Stride = 20 bytes

glBindTexture(GL_TEXTURE_2D, textID);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);    
glTexCoordPointer(2, GL_FLOAT, 20, (void *)12);

glDrawArrays(GL_TRIANGLE_FAN, 4, 4);

// Bind the VBO so we can fill it with data
glBindBuffer(GL_ARRAY_BUFFER, 0);

非常感谢!!!

最佳答案

您应该只生成一次顶点缓冲区对象,然后使用它绘制。

看起来你每一帧都创建了一个新的。

关于iphone - OpenGL ES代码修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684062/

相关文章:

iphone - 如何从 JSON 数据请求访问 NSDictionary 的内容

iphone - 如何命名应用商店图标?

iphone - iOS : how to change the size of the UIScrollView content?

ios - iPod 上不显示图标;使用模拟器时确实出现

ios - 为什么我的表格 View 中的单元格不显示任何文本?

iphone - 使 iPhone 应用程序与 iphone 5 兼容

iphone - 从 Nib 接收来自 UIView 的触摸事件

objective-c - SQLite 3 WAL模式多进程频繁破坏数据库

ios - 在 iOS7 上拍照时,有没有办法使用代码让它不水平翻转?

iphone - UITabBarController 自定义