CGL против OpenGL на Mac - PullRequest
       44

CGL против OpenGL на Mac

1 голос
/ 29 августа 2011

Я пытаюсь выяснить связь между CGL и OpenGL на платформе Mac .

Более конкретно о контексте.Они разделяют контекст?Если да, то как?Пожалуйста, дайте мне ссылку на некоторые связанные примеры.

Если нет, то существуют ли два контекста, работающие в приложениях Core Animation, использующих OpenGL?

Я очень смущен использованием OpenGLпо Mac.Может кто-нибудь уточнить?

Ответы [ 2 ]

3 голосов
/ 13 ноября 2012

CGL устанавливает специфические для устройства контексты, подходящие для рендеринга OpenGL.Сравните с wgl и xgl в Windows и X соответственно.CGL понимает, как запрашивать у графического оборудования его пиксельный формат, а затем как устанавливать и настраивать контекст (например, с двойной буферизацией или с одной буферизацией, какое разрешение по глубине, трафарет, буфер накопления и т. Д.).Но он не предоставляет функции для рисования в этом контексте.Как только вы создали контекст с CGL, вы делаете его текущим, а затем вы можете вызвать OpenGL для рендеринга в этом контексте.

В Core Graphics (не путайте его с CGL), инициализация контекста и рисование вконтекст обрабатывается той же структурой.Но поскольку OpenGL является открытым стандартом и разработан для кроссплатформенности, функциональность рендеринга и контекст устройства были разделены на отдельные структуры.

0 голосов
/ 24 сентября 2011

CGL - это низкоуровневый интерфейс для OpenGL на Mac.Вы, вероятно, не хотите использовать его, если вы пишете приложение для OpenGL Mac.В настоящее время я нахожусь в процессе создания интуитивного шаблона приложения OpenGL Mac для XCode 4, но пока вы можете посмотреть https://github.com/mk12/Pong-Ultimate, клон понга, который я сделал с помощью OpenGL.Он использует NSOpenGL, высокоуровневый интерфейс Cocoa для OpenGL.

Вы также можете найти полезные документы Apple: http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide/opengl_intro/opengl_intro.html.

...