Очистка после OpenGL на iPhone - PullRequest
       3

Очистка после OpenGL на iPhone

1 голос
/ 04 августа 2010

Сейчас я играю с OpenGL ES на iPhone, используя Oolong Engine. Это может быть глупый вопрос, но насколько это необходимо для очистки после OpenGL при выходе из приложения? Моя проблема заключается в том, что у меня есть статический вектор, который управляет загрузкой моделей и слабо гарантирует, что модели не загружаются дважды. Из-за этого все дескрипторы VBO и текстур хранятся в Model объектах в static map<Model>. Когда приложение закрывается, карта, по-видимому, не вызывает деструкторы для отдельных объектов Model, поэтому они не вызывают glDeleteBuffers().

У меня вопрос: действительно ли это необходимо, если приложение достаточно маленькое, чтобы я никогда не выгружал и не перезагружал модели из памяти во время выполнения? Или OpenGL просто позаботится обо всем этом для меня? Я мог бы создать статическую CleanUp() функцию, которая вызывается из dealloc приложения, но стоит ли это того?

1 Ответ

3 голосов
/ 04 августа 2010

При выходе из приложения с ним очищаются все ресурсы, включая все элементы GL. Не волнуйтесь, ОС не позволит вашему мошенническому приложению случайно утечь кучу ресурсов графического процессора.

Управление ресурсами в Open GL в целом - это то, что вы, конечно, должны делать в течение жизни вашего приложения, но, похоже, вы знаете, как это сделать.

...