Код OpenGL ES для пересмотра - PullRequest
       9

Код OpenGL ES для пересмотра

0 голосов
/ 07 октября 2011

Я создаю проект opengl ES и пытаюсь показать некоторые текстуры, все работает хорошо, но проблема заключается в использовании памяти, каждые 5 секунд увеличивается почти на 1 Мб, я думаю, что я делаю что-то не так Я не использую ни одной из этих рекомендаций Apple Я обязательно подам в трей, но я хочу знать, если в моем коде есть какая-то ошибка, вот как я жду:

    // 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);

Большое спасибо !!!

1 Ответ

3 голосов
/ 07 октября 2011

Вы должны сгенерировать объект буфера вершин только один раз, используйте его для рисования.

Кажется, вы создаете новый каждый кадр.

...