Разработка OpenGL для Mac в Xcode. Могу ли я форсировать рендеринг программного обеспечения? - PullRequest
4 голосов
/ 09 апреля 2011

Я портирую игру OpenGL с iPhone на Mac, и у меня возникают проблемы с повреждением текстур.Я предполагаю, что это проблема с памятью.

Дело в том, что я сейчас 3 раза ломал mac (случается случайно, когда запускается игра), так что становится трудно отлаживать это.

Можно ли каким-либо образом заставить программный рендеринг?

enter image description here

1 Ответ

5 голосов
/ 09 апреля 2011

Выберите kCGLRendererGenericID как NSOpenGLPFARendererID при создании списка атрибутов pixelformat для запуска контекста (initWithAttributes:).

NSOpenGLPFARendererID

Значение - неотрицательный идентификационный номер средства визуализации.Рендереры OpenGL, которые соответствуют указанному идентификатору, являются предпочтительными.Константы для выбора конкретных средств визуализации представлены в заголовке CGLRenderers.h платформы OpenGL.Следует отметить kCGLRendererGenericID, который выбирает программный рендер Apple.Другие константы выбирают средства визуализации для конкретных поставщиков оборудования.

ПРИМЕЧАНИЕ! Я только что увидел, что kCGLRendererGenericID устарел, и для использования используется kCGLRendererAppleSWID

Еще один совет - запустить приложение с помощью OpenGL Profiler.Смотрите здесь

http://lists.apple.com/archives/quartzcomposer-dev/2010/Jun/msg00090.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...