Я разрабатываю приложение, использующее OpenGL для визуализации облака точек. Число точек изменяется на каждой итерации. Вот код, который я использую:утечки памяти OpenGL render
glEnableClientState(GL_COLOR_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY);
glColorPointer(3, GL_UNSIGNED_BYTE, 0, cloud->colors.data());
glVertexPointer(3, GL_FLOAT, 0, p_cloud->vertices.data());
glDrawArrays(GL_POINTS, 0, p_cloud->vertices.size());
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_COLOR_ARRAY);
Дело в том, что я получаю утечка памяти только, если я использую его, как это. Если я прокомментирую предыдущий раздел, он работает хорошо (но без отображения, конечно).
Есть ли функция для вызова после этого?
Другой вопрос: есть ли простой способ отобразить его как сетку? Я знаю индекс треугольников.
Один вопрос на вопрос, пожалуйста. Предпочтительно тот, который имеет смысл. –
@LightnessRacesinOrbit: Прекрасно тонкий вопрос. – datenwolf
Чтобы убедиться, что вы правильно поставили диагноз: если вы используете этот код в течение длительного периода времени, увеличивается ли объем памяти? Более или менее линейно со временем? Или использование памяти просто несколько увеличивается несколько раз, когда вы выполняете этот код, а затем плато? –