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