Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы OpenGL ссылка CGL

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка CGL

CGL (Ядро OpenGL) является интерфейсом программирования самого низкого уровня для реализации Apple OpenGL. CGL поддерживает полноэкранное получение OpenGL и рисование к пиксельным буферам, которые являются аппаратно ускоренным внеэкранным расположением получения. Любое приложение Какао или Углерода может использовать CGL для получения наиболее прямого доступа к функциональности системы. Классы Какао, поддерживающие OpenGL и AGL API, каждый создаются поверх CGL.

Функции

  • Создает объект формата пикселя, удовлетворяющий ограничения указанного буфера и атрибутов средства рендеринга.

    Объявление

    Swift

    func CGLChoosePixelFormat(_ attribs: UnsafePointer<CGLPixelFormatAttribute>, _ pix: UnsafeMutablePointer<CGLPixelFormatObj>, _ npix: UnsafeMutablePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLChoosePixelFormat ( const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, GLint *npix );

    Параметры

    attribs

    A 0 завершенный массив, содержащий список атрибутов средства рендеринга и буфера. Атрибуты могут быть булевской переменной или целым числом. Если атрибут является целым числом, необходимо сразу предоставить требуемое значение после атрибута. Если атрибут является булевской переменной, не предоставляйте значение, потому что его присутствие в массиве атрибутов подразумевает a true значение. Для получения информации об атрибутах, которые можно предоставить, посмотрите Атрибуты Буфера и Средства рендеринга и Обсуждение ниже.

    pix

    Адрес памяти объекта формата пикселя. По возврату, точкам к новому объекту формата пикселя, содержащему информацию о формате пикселя и список виртуальных экранов. Если нет никаких форматов пикселя или виртуальных экранов, удовлетворяющих ограничения буфера и атрибутов средства рендеринга, значения pix установлен в NULL.

    npix

    По возврату, точкам к числу виртуальных экранов, на которые ссылаются pix. Если pix NULL, значение npix установлен в 0.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    После того, как объект формата пикселя создается успешно, целочисленные атрибуты установлены в значения, которые являются как близко к требуемому значению, как может быть предоставлен системой. Атрибуты могут иметь различные значения для каждого виртуального экрана. Можно использовать kCGLPFAMinimumPolicy и kCGLPFAMaximumPolicy атрибуты, чтобы управлять, как система выбирает установку. Для получения дополнительной информации о выборе атрибутов см. Руководство по программированию OpenGL для Mac.

    Булевы константы атрибута включают следующее:

    Целочисленные константы атрибута должны сопровождаться значением:

    Запускаясь в OS X v10.5, объекты формата пикселя являются считаемой ссылкой. Объекты формата пикселя создаются с подсчетом ссылок 1 когда последняя ссылка на объект выпущена, и уничтожаются.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Получает значения атрибута, связанного с объектом формата пикселя.

    Объявление

    Swift

    func CGLDescribePixelFormat(_ pix: CGLPixelFormatObj, _ pix_num: GLint, _ attrib: CGLPixelFormatAttribute, _ value: UnsafeMutablePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLDescribePixelFormat ( CGLPixelFormatObj pix, GLint pix_num, CGLPixelFormatAttribute attrib, GLint *value );

    Параметры

    pix

    Объект формата пикселя запросить.

    pix_num

    Виртуальное экранное число, значение атрибута которого Вы хотите получить. Это значение должно быть между 0 и число виртуальных экранов минус один.

    attrib

    Атрибут, значение которого Вы хотите получить. Для списка возможных атрибутов посмотрите Атрибуты Буфера и Средства рендеринга.

    value

    По возврату, точкам к значению атрибута.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Объект формата пикселя может содержать различные значения для каждого виртуального экрана, который является, почему необходимо предоставить виртуальное экранное число в pix_num параметр.

    Можно получить число виртуальных экранов, связанных с объектом формата пикселя путем вызывания функции CGLDescribePixelFormat, передача объекта формата пикселя, 0 для виртуального экранного числа и постоянного атрибута kCGLPFAVirtualScreenCount. Для получения дополнительной информации о виртуальных экранах, см. Руководство по программированию OpenGL для Mac.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLChoosePixelFormat

  • Получает текущий формат пикселя, связанный с CGL рендеринг контекста.

    Объявление

    Swift

    func CGLGetPixelFormat(_ ctx: CGLContextObj) -> CGLPixelFormatObj

    Objective C

    CGLPixelFormatObj CGLGetPixelFormat ( CGLContextObj ctx );

    Параметры

    ctx

    Рендеринг CGL контекста, формат которого Вы хотите получить.

    Возвращаемое значение

    Объект формата пикселя описание формата пикселя CGL рендеринг контекста.

    Обсуждение

    Объект формата пикселя не сохраняется прежде чем быть возвращенным к Вашему приложению. Если Ваше приложение должно поддержать этот объект, оно должно вызвать CGLRetainPixelFormat.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.5 и позже.

  • Постепенно увеличивает подсчет ссылок получателя.

    Объявление

    Swift

    func CGLRetainPixelFormat(_ pix: CGLPixelFormatObj) -> CGLPixelFormatObj

    Objective C

    CGLPixelFormatObj CGLRetainPixelFormat ( CGLPixelFormatObj pix );

    Параметры

    pix

    Объект формата пикселя, подсчет ссылок которого должен быть постепенно увеличен.

    Возвращаемое значение

    Сохраняемый объект.

    Обсуждение

    Каждый вызов к CGLRetainPixelFormat увеличивает подсчет ссылок 1. Каждый вызов к CGLRetainPixelFormat должен быть соответствующим вызову к CGLReleasePixelFormat.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.5 и позже.

  • Постепенно уменьшает подсчет ссылок объекта формата пикселя.

    Объявление

    Swift

    func CGLReleasePixelFormat(_ pix: CGLPixelFormatObj)

    Objective C

    void CGLReleasePixelFormat ( CGLPixelFormatObj pix );

    Параметры

    pix

    Объект формата пикселя, подсчет ссылок которого должен быть постепенно уменьшен.

    Обсуждение

    Когда Вы вызываете функцию, система сохраняет объект формата пикселя CGLCreateContext, таким образом, можно сразу выпустить объект формата пикселя после передачи его к функции создания контекста.

    Каждый вызов к CGLReleasePixelFormat уменьшает подсчет ссылок 1. Если достигает подсчет ссылок 0, объект формата пикселя уничтожается.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвраты сохранить количество объекта формата пикселя.

    Объявление

    Swift

    func CGLGetPixelFormatRetainCount(_ pix: CGLPixelFormatObj) -> GLuint

    Objective C

    GLuint CGLGetPixelFormatRetainCount ( CGLPixelFormatObj pix );

    Параметры

    pix

    Объект формата пикселя.

    Возвращаемое значение

    Сохранить количество объекта формата пикселя.

    Обсуждение

    Можно использовать эту функцию для контроля сохранить количества объекта формата пикселя.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.5 и позже.

  • Освобождает память, связанную с объектом формата пикселя.

    Объявление

    Swift

    func CGLDestroyPixelFormat(_ pix: CGLPixelFormatObj) -> CGLError

    Objective C

    CGLError CGLDestroyPixelFormat ( CGLPixelFormatObj pix );

    Параметры

    pix

    Объект формата пикселя уничтожить.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Вызывание этой функции эквивалентно вызову CGLReleasePixelFormat.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает CGL рендеринг контекста.

    Объявление

    Swift

    func CGLCreateContext(_ pix: CGLPixelFormatObj, _ share: CGLContextObj, _ ctx: UnsafeMutablePointer<CGLContextObj>) -> CGLError

    Objective C

    CGLError CGLCreateContext ( CGLPixelFormatObj pix, CGLContextObj share, CGLContextObj *ctx );

    Параметры

    pix

    Объект формата пикселя, создаваемый путем вызова функционального CGLChoosePixelFormat.

    share

    Контекст рендеринга, с которым можно совместно использовать OpenGL, возражает состоянию — включая объекты текстуры, программы и дисплейные списки программы построения теней, объекты массива вершины, буферные объекты вершины, пиксельные буферные объекты и объекты кадрового буфера — и объектному состоянию, связанному который каждые из этих типов объектов. Передача NULL указать, что никакое совместное использование не должно иметь место.

    ctx

    Адрес памяти объекта контекста. По возврату, точкам к новому объекту контекста с буферами и приписывает указанный pix параметр. Если контекст не может быть создан, как указано, значение ctx установлен в NULL.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Если формат пикселя возражает, что Вы предоставляете, в состоянии поддерживать многократные графические устройства, то контекст рендеринга может представить прозрачно через поддерживаемые устройства. С многократным контекстом рендеринга устройства совместное использование возможно только, когда отношение между средствами рендеринга и графическими устройствами, которые они поддерживают, является тем же для всех совместно использующихся контекстов рендеринга. Обычно Вы достигаете лучшего дисплея при помощи того же объекта формата пикселя для всех совместно использованные контексты рендеринга. Для получения дополнительной информации см. Руководство по программированию OpenGL для Mac.

    Запускаясь в OS X v10.5, CGL представляющие объекты являются считаемой ссылкой. Объекты формата пикселя создаются с подсчетом ссылок 1 когда последняя ссылка на объект выпущена, и уничтожаются.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Копирует указанные переменные состояния от одного контекста рендеринга до другого.

    Объявление

    Objective C

    CGLError CGLCopyContext ( CGLContextObj src, CGLContextObj dst, GLbitfield mask );

    Параметры

    src

    Исходный контекст рендеринга.

    dst

    Место назначения, представляющее контекст.

    mask

    Маска, указывающая переменные состояния для копирования. Передайте немного поля, содержащего поразрядное OR из имен переменной состояния, которые Вы хотите скопировать. Используйте символьные константы маски, передающиеся функции OpenGL glPushAttrib. Для копирования как можно большего количества переменных состояния предоставьте константу GL_ALL_ATTRIB_BITS. Для описания символьных констант маски см. Справочник OpenGL.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Не все значения состояния OpenGL могут быть скопированы. Например, пиксельный пакет и распаковывает состояние, представляет состояние режима, и выбор и состояние обратной связи не копируются. Состояние, которое может быть скопировано, является точно состоянием, которым управляет вызов OpenGL glPushAttrib.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.8.

  • Постепенно увеличивается сохранение рассчитывают на CGL рендеринг контекста.

    Объявление

    Swift

    func CGLRetainContext(_ ctx: CGLContextObj) -> CGLContextObj

    Objective C

    CGLContextObj CGLRetainContext ( CGLContextObj ctx );

    Параметры

    ctx

    Контекст рендеринга, который будет сохранен.

    Возвращаемое значение

    Тот же контекст, переданный в функцию.

    Обсуждение

    Каждый вызов к CGLRetainContext увеличения сохранить количество 1. Для предотвращения утечек памяти каждый сохраняет вызов, должен быть сбалансирован с вызова к CGLReleaseContext.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.5 и позже.

  • Постепенно уменьшается сохранение рассчитывают на CGL рендеринг контекста.

    Объявление

    Swift

    func CGLReleaseContext(_ ctx: CGLContextObj)

    Objective C

    void CGLReleaseContext ( CGLContextObj ctx );

    Параметры

    ctx

    Контекст рендеринга, который будет выпущен.

    Обсуждение

    Каждый вызов к CGLReleaseContext уменьшения сохранить количество 1.

    Когда достигает сохранить количество 0, освобождены все ресурсы, связанные с контекстом рендеринга. Если контекст рендеринга, который Вы передаете, является текущим контекстом рендеринга, и это освобождено, текущий контекст установлен в NULL и нет никакого текущего контекста рендеринга после того, как выполнится функция. После того, как контекст освобожден, необходимо удостовериться, что Вы не используете уничтоженный контекст рендеринга. Это включает использование макросы CGL, в которых контекст рендеринга явно передается OpenGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.5 и позже.

  • Возвращается ток сохраняют количество CGL рендеринг контекста.

    Объявление

    Swift

    func CGLGetContextRetainCount(_ ctx: CGLContextObj) -> GLuint

    Objective C

    GLuint CGLGetContextRetainCount ( CGLContextObj ctx );

    Параметры

    ctx

    Рендеринг CGL контекста, чей сохраняют количество, которое Вы хотите обнаружить.

    Возвращаемое значение

    Сохранить количество CGL рендеринг контекста.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.5 и позже.

  • Освобождает ресурсы, связанные с контекстом рендеринга.

    Объявление

    Swift

    func CGLDestroyContext(_ ctx: CGLContextObj) -> CGLError

    Objective C

    CGLError CGLDestroyContext ( CGLContextObj ctx );

    Параметры

    ctx

    Контекст рендеринга для уничтожения.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Запущение в Mac OS 10.5, CGL рендеринг контекстов является считаемой ссылкой. По причинам совместимости, вызывая CGLDestroyContext очищает drawable, связанное с контекстом рендеринга. Вызов CGLDestroyContext эквивалент вызова обоих CGLClearDrawable и CGLReleaseContext).

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLCreateContext

  • Возвращает текущий контекст рендеринга.

    Объявление

    Swift

    func CGLGetCurrentContext() -> CGLContextObj

    Objective C

    CGLContextObj CGLGetCurrentContext ( void );

    Возвращаемое значение

    Текущий контекст рендеринга. Если нет ни одного, возвратов NULL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLSetCurrentContext

  • Устанавливает указанный контекст рендеринга как текущий контекст рендеринга.

    Объявление

    Swift

    func CGLSetCurrentContext(_ ctx: CGLContextObj) -> CGLError

    Objective C

    CGLError CGLSetCurrentContext ( CGLContextObj ctx );

    Параметры

    ctx

    Контекст рендеринга для установки как текущий контекст рендеринга. Передача NULL выпускать текущий контекст рендеринга, не присваивая новый.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL. Если функция перестала работать, текущий контекст остается неизменным.

    Обсуждение

    Может быть только один текущий контекст рендеринга. Последующие вызовы рендеринга OpenGL воздействуют на текущий контекст рендеринга для изменения drawable объекта, связанного с ним.

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

    Контекст является текущим на основе на поток. Многократные потоки должны сериализировать вызовы в тот же контекст.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLGetCurrentContext

  • Включает опцию для контекста рендеринга.

    Объявление

    Swift

    func CGLEnable(_ ctx: CGLContextObj, _ pname: CGLContextEnable) -> CGLError

    Objective C

    CGLError CGLEnable ( CGLContextObj ctx, CGLContextEnable pname );

    Параметры

    ctx

    Контекст рендеринга.

    pname

    Опция включить. Для списка возможных вариантов посмотрите Опции Контекста.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Некоторые опции контекста имеют значения, связанные с ними. Использовать CGLSetParameter и CGLGetParameter установить и получить значения параметров контекста.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLDisable
    CGLIsEnabled

  • Отключает опцию для контекста рендеринга.

    Объявление

    Swift

    func CGLDisable(_ ctx: CGLContextObj, _ pname: CGLContextEnable) -> CGLError

    Objective C

    CGLError CGLDisable ( CGLContextObj ctx, CGLContextEnable pname );

    Параметры

    ctx

    Контекст рендеринга.

    pname

    Опция отключить. Для списка возможных вариантов посмотрите Опции Контекста.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLEnable
    CGLIsEnabled

  • Отчеты, включена ли опция для контекста рендеринга.

    Объявление

    Swift

    func CGLIsEnabled(_ ctx: CGLContextObj, _ pname: CGLContextEnable, _ enable: UnsafeMutablePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLIsEnabled ( CGLContextObj ctx, CGLContextEnable pname, GLint *enable );

    Параметры

    ctx

    Контекст рендеринга.

    pname

    Опция запросить. Для списка возможных вариантов посмотрите Опции Контекста.

    enable

    По возврату, enable установлен в true если включена опция.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Установить или связать значения параметров с опцией контекста, использованием CGLSetParameter или CGLGetParameter.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLEnable
    CGLDisable

  • Устанавливает значение параметра контекста рендеринга.

    Объявление

    Swift

    func CGLSetParameter(_ ctx: CGLContextObj, _ pname: CGLContextParameter, _ params: UnsafePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLSetParameter ( CGLContextObj ctx, CGLContextParameter pname, const GLint *params );

    Параметры

    ctx

    Контекст рендеринга.

    pname

    Параметр, значение которого Вы хотите установить. Для списка возможных параметров посмотрите Параметры Контекста.

    params

    Указатель на значение для установки параметра на.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Некоторые параметры, возможно, должны иметь соответствующую опцию контекста, позволенную для их значения вступить в силу. Можно включить, отключить и протестировать, включают ли с опцией CGLEnable, CGLDisable, и CGLIsEnabled.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLGetParameter

  • Получает значение параметра контекста рендеринга.

    Объявление

    Swift

    func CGLGetParameter(_ ctx: CGLContextObj, _ pname: CGLContextParameter, _ params: UnsafeMutablePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLGetParameter ( CGLContextObj ctx, CGLContextParameter pname, GLint *params );

    Параметры

    ctx

    Контекст рендеринга.

    pname

    Параметр, значение которого Вы хотите получить. Для списка возможных параметров посмотрите Параметры Контекста.

    params

    По возврату, точкам к значению параметра.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Некоторые параметры, возможно, должны иметь соответствующую опцию контекста, позволенную для их значения вступить в силу. Можно включить, отключить и протестировать, включают ли с опцией CGLEnable, CGLDisable, и CGLIsEnabled.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLSetParameter

  • Блокирует CGL рендеринг контекста.

    Объявление

    Swift

    func CGLLockContext(_ ctx: CGLContextObj) -> CGLError

    Objective C

    CGLError CGLLockContext ( CGLContextObj ctx );

    Параметры

    ctx

    Контекст CGL для блокировки.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Функция CGLLockContext блокирует поток, он идет, пока все другие потоки не разблокировали тот же контекст с помощью функции CGLUnlockContext. Можно использовать CGLLockContext рекурсивно. Зависящие от контекста вызовы CGL собой не требуют блокировки, но можно гарантировать последовательную обработку для группы вызовов путем окружения их CGLLockContext и CGLUnlockContext. Следует иметь в виду, что вызовы от OpenGL API (API, предоставленный Наблюдательным советом Архитектуры), требуют блокировки.

    Приложения то использование NSOpenGL классы с многопоточностью могут заблокировать контексты с помощью функций CGLLockContext и CGLUnlockContext. Для выполнения рендеринга в потоке кроме основного можно заблокировать контекст, что Вы хотите получить доступ и безопасно выполнить команды OpenGL. Вызовы блокировки должны быть помещены вокруг всех вызовов OpenGL во всех потоках.

    Для получения дополнительной информации о многопоточности приложения OpenGL см. Руководство по программированию OpenGL для Mac.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    CGLUnlockContext

  • Разблокировал CGL рендеринг контекста.

    Объявление

    Swift

    func CGLUnlockContext(_ ctx: CGLContextObj) -> CGLError

    Objective C

    CGLError CGLUnlockContext ( CGLContextObj ctx );

    Параметры

    ctx

    Контекст CGL для разблокирования.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    CGLLockContext

  • Присоединяет контекст рендеринга к внеэкранному буферу.

    Объявление

    Objective C

    CGLError CGLSetOffScreen ( CGLContextObj ctx, GLsizei width, GLsizei height, GLint rowbytes, void *baseaddr );

    Параметры

    ctx

    Контекст рендеринга.

    width

    Ширина, в пикселях, внеэкранного буфера.

    height

    Высота, в пикселях, внеэкранного буфера.

    rowbytes

    Число байтов на строку внеэкранного буфера, который должен быть больше, чем или равным width байты на пиксель времен.

    baseaddr

    Указатель на блок памяти для использования в качестве внеэкранного буфера. Размер памяти должен быть, по крайней мере, rowbytes*height байты.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Прежде, чем вызвать эту функцию, необходимо установить контекст рендеринга с помощью объекта формата пикселя, создаваемого с kCGLPFAOffScreen атрибут. Для получения дополнительной информации о kCGLPFAOffScreen, посмотрите Атрибуты Буфера и Средства рендеринга.

    После вызова этой функции последующее получение OpenGL представляется во внеэкранном буфере, и область просмотра контекста рендеринга установлена в полный размер внеэкранной области.

    Для выхода из внеэкранного режима вызвать CGLClearDrawable.

    Для получения функциональности, подобной внеэкранному режиму на средствах рендеринга, не поддерживающих его, присоедините контекст к скрытому окну и используйте функцию OpenGL glReadPixels.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

    См. также

    CGLGetOffScreen

  • Получает внеэкранный буфер и его параметры для указанного контекста рендеринга.

    Объявление

    Objective C

    CGLError CGLGetOffScreen ( CGLContextObj ctx, GLsizei *width, GLsizei *height, GLint *rowbytes, void **baseaddr );

    Параметры

    ctx

    Контекст рендеринга.

    width

    По возврату, точкам к ширине, в пикселях, внеэкранного буфера. Если контекст рендеринга не присоединен к внеэкранному drawable объекту, значению width установлен в 0.

    height

    По возврату, точкам к высоте, в пикселях, внеэкранного буфера. Если контекст рендеринга не присоединен к внеэкранному drawable объекту, значению height установлен в 0.

    rowbytes

    По возврату, точкам к числу байтов на строку внеэкранного буфера. Если контекст не присоединен к внеэкранному drawable объекту, значению rowbytes установлен в 0.

    baseaddr

    По возврату, точкам к базовому адресу внеэкранного буфера. Если контекст не присоединен к внеэкранному drawable объекту, значению baseaddr установлен в NULL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.7.

    См. также

    CGLSetOffScreen

  • Присоединяет контекст рендеринга к его полноэкранному drawable объекту.

    Оператор осуждения

    Использовать CGLSetFullScreenOnDisplay вместо этого.

    Объявление

    Objective C

    CGLError CGLSetFullScreen ( CGLContextObj ctx );

    Параметры

    ctx

    Контекст рендеринга.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Прежде, чем вызвать эту функцию, необходимо установить контекст рендеринга с помощью объекта формата пикселя, создаваемого с kCGLPFAFullScreen атрибут (см. Атрибуты Буфера и Средства рендеринга). Некоторые средства рендеринга OpenGL, такие как средство рендеринга программного обеспечения, не поддерживают полноэкранный режим. После вызова функционального CGLChoosePixelFormat с полноэкранным атрибутом необходимо проверить, создается ли объект формата пикселя успешно.

    Необходимо получить дисплей до ввода полноэкранного режима и выпустить его после выхода. После вызова этой функции последующее получение OpenGL представляется во всем экране. Для получения дополнительной информации см. Руководство по программированию OpenGL для Mac.

    Для выхода из полноэкранного режима вызвать CGLClearDrawable.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.0 и позже.

    Осуждаемый в OS X v10.6.

  • Присоединяет контекст рендеринга к полноэкранному drawable объекту.

    Объявление

    Objective C

    CGLError CGLSetFullScreenOnDisplay ( CGLContextObj ctx, GLuint display_mask );

    Параметры

    ctx

    Контекст рендеринга.

    display_mask

    Немного поля, содержащего маску дисплея OpenGL для экрана, который Вы хотите, чтобы контекст покрыл.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Эта функция получает drawable объект, покрывающий весь экран и присоединяющий его к контексту рендеринга. Полноэкранный контекст рендеринга может позволить базовому средству рендеринга обеспечивать лучшую производительность по сравнению с контекстом, связанным с окном, частично покрывающим экран.

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

    Необходимо получить экран до ввода полноэкранного режима и выпустить его после выхода. После вызова этой функции последующее получение OpenGL представляется во всем экране. Для получения дополнительной информации см. Руководство по программированию OpenGL для Mac.

    Для выхода из полноэкранного режима вызвать CGLClearDrawable.

    В OS X v10.6 или позже, эта функция не осуждается, но обычно не необходима. Если Ваше приложение создает окно, полностью покрывающее экран, система неявно создает полноэкранный экземпляр для того же потенциального выигрыша в производительности.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.5 и позже.

    Осуждаемый в OS X v10.7.

  • Разъединяет контекст рендеринга с любыми drawable объектами, присоединенными к нему.

    Объявление

    Swift

    func CGLClearDrawable(_ ctx: CGLContextObj) -> CGLError

    Objective C

    CGLError CGLClearDrawable ( CGLContextObj ctx );

    Параметры

    ctx

    Контекст рендеринга.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Копирует задний буфер контекста с двойной буферизацией к переднему буферу.

    Объявление

    Swift

    func CGLFlushDrawable(_ ctx: CGLContextObj) -> CGLError

    Objective C

    CGLError CGLFlushDrawable ( CGLContextObj ctx );

    Параметры

    ctx

    Объект контекста.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Для создания контекста с двойной буферизацией укажите kCGLPFADoubleBuffer атрибут (см. Атрибуты Буфера и Средства рендеринга), когда Вы создаете объект формата пикселя для контекста рендеринга. Если атрибут запоминающего устройства установлен в false, буферами можно обменяться, а не скопировать. Это часто имеет место в полноэкранном режиме. Если получатель не является контекстом с двойной буферизацией, этот вызов ничего не делает.

    Если Вы устанавливаете атрибут интервала подкачки (kCGLCPSwapInterval) соответственно, копия имеет место во время вертикали, восстанавливают дисплея, а не сразу после CGLFlushDrawable вызывается. Неявное glFlush работа выполняется CGLFlushDrawable прежде чем это возвратится. Для оптимальной производительности приложение не должно вызывать glFlush сразу перед вызовом CGLFlushDrawable. Последующие команды OpenGL могут быть сразу даны после вызова CGLFlushDrawable, но не выполняются, пока буферная копия не завершается. Для получения дополнительной информации о kCGLCPSwapInterval, посмотрите Параметры Контекста.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает пиксельный буфер указанного размера, совместимого с указанной целью текстуры.

    Объявление

    Objective C

    CGLError CGLCreatePBuffer ( GLsizei width, GLsizei height, GLenum target, GLenum internalFormat, GLint max_level, CGLPBufferObj *pbuffer );

    Параметры

    width

    Ширина, в пикселях, пиксельного буфера.

    height

    Высота, в пикселях, пиксельного буфера.

    target

    Константа, указывающая тип пиксельной буферной целевой текстуры. Можно предоставить любую из следующих целей текстуры:

    • GL_TEXTURE_2D, текстура, размерности которой являются питанием два.

    • GL_TEXTURE_RECTANGLE_EXT, текстура, размерности которой не являются питанием два.

    • GL_TEXTURE_CUBE_MAP, отображенная кубическая текстура.

    internalFormat

    Константа, указывающая внутренний цветной формат пиксельного буфера, который может быть также GL_RGB или GL_RGBA. Управления форматом, используется ли альфа-канал пиксельного буфера для текстурирования операций.

    max_level

    Максимальный уровень допустимой подробности множественного отображения. Передача 0 для не использующего пиксельного буфера множественно отображается. Значение передало, никогда не должен превышать фактическое максимальное количество уровней множественного отображения, которые могут быть представлены с данной шириной и высотой.

    pbuffer

    По возврату, точкам к новому пиксельному буферному объекту.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL. Эта функция возвраты kCGLBadAlloc если это не может выделить хранение для пиксельной буферной структуры данных. Это возвращается kCGLBadValue для любого из этих условий:

    • Отрицание max_level значение обеспечило или a max_level значение, больше, чем максимальные возможные уровни множественного отображения для данной ширины и высоты, обеспечило.

    • A max_level значение, больше, чем 0 используемый с a GL_TEXTURE_RECTANGLE_EXT цель текстуры

    • Размерности предусмотрели a GL_TEXTURE_CUBE_MAP цель текстуры не равна.

    Обсуждение

    Эта функция не имеет никакого знания контекстов OpenGL или объектов формата пикселя и в частности не выделяет хранение, необходимое для буфера фактического пикселя. Эти операции происходят при вызове функционального CGLSetPBuffer.

    Можно определить размерные пределы пиксельного буфера путем вызывания функции OpenGL glGetInteger. Можно счесть максимальный размер поддерживаемым путем запросов GL_MAX_VIEWPORT_DIMS и минимальный размер путем запросов GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE, который возвращает два целочисленных значения (подобный GL_MAX_VIEWPORT_DIMS). Все пиксельные буферные размерности, которые Вы запрашиваете с функцией aglCreatePBuffer должен находиться в пределах этих пределов (включительно) и должен соответствовать любым ограничениям, наложенным текстурой, предназначаются для Вас выбор.

    Максимальный размер области просмотра, поддерживаемый в OS X, является довольно большим. Необходимо учесть сумму видеопамяти или системной памяти, требуемой поддерживать требуемый пиксельный размер буфера, включая дополнительную память, необходимую для многократных буферов и опций, таких как мультивыборка.

    Запускаясь в OS X v10.5, пиксельные буферные объекты являются считаемой ссылкой. Пиксельные буферные объекты создаются с подсчетом ссылок 1 когда последняя ссылка на объект выпущена, и уничтожаются.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.7.

    См. также

    CGLReleasePBuffer

  • Получает информацию, описывающую указанный пиксельный буферный объект.

    Объявление

    Objective C

    CGLError CGLDescribePBuffer ( CGLPBufferObj obj, GLsizei *width, GLsizei *height, GLenum *target, GLenum *internalFormat, GLint *mipmap );

    Параметры

    obj

    Указатель на пиксель буферизует объект.

    width

    По возврату, точкам к ширине, в пикселях, пиксельного буфера.

    height

    По возврату, точкам к высоте, в пикселях, пиксельного буфера.

    target

    По возврату, точкам к константе, указывающей пиксельную буферную цель текстуры:

    • GL_TEXTURE_2D, текстура, размерности которой являются питанием два.

    • GL_TEXTURE_RECTANGLE_EXT, текстура, размерности которой не являются питанием два.

    • GL_TEXTURE_CUBE_MAP, отображенная кубическая текстура.

    internalFormat

    По возврату, точкам к константе, указывающей внутренний цветной формат пиксельного буфера — также GL_RGB или GL_RGBA.

    mipmap

    По возврату, точкам к уровню множественного отображения пиксельного буфера или 0 если это не использует, множественно отображается.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Ширина, высота, цель текстуры и внутренний цветной формат текстуры пиксельного буферного объекта установлены при его создании и не могут быть изменены, не уничтожая и воссоздавая объект. Когда пиксельный буферный объект присоединен к контексту рендеринга путем вызова функционального CGLSetPBuffer, уровень установлен.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.7.

    См. также

    CGLCreatePBuffer

  • Постепенно увеличивается сохранение рассчитывают на пиксельный буферный объект.

    Объявление

    Objective C

    CGLPBufferObj CGLRetainPBuffer ( CGLPBufferObj pbuffer );

    Параметры

    pbuffer

    Пиксельный буфер возражает, чей сохраняют количество, которое Вы хотите постепенно увеличить.

    Возвращаемое значение

    Пиксельный буфер возражает, что принял вызов.

    Обсуждение

    Каждый вызов к CGLRetainPBuffer увеличения сохранить количество 1. Для препятствования пиксельному буферному объекту быть пропущенным каждый сохраняет вызов, должен быть соответствующим вызову к CGLReleasePBuffer.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.5 и позже.

    Осуждаемый в OS X v10.7.

  • Постепенно уменьшается сохранение рассчитывают на пиксельный буферный объект.

    Объявление

    Objective C

    void CGLReleasePBuffer ( CGLPBufferObj pbuffer );

    Параметры

    pbuffer

    Пиксельный буфер возражает, чей сохраняют количество, которое Вы хотите постепенно уменьшить.

    Обсуждение

    Вызовите эту функцию только после того, как Вы больше не должны будете использовать пиксельный буферный объект. Прежде, чем выпустить пиксель буферизуют объект, необходимо удалить любые объекты текстуры, связанные с ним. Вы не должны удостоверяться, что все команды текстурирования завершились до вызывания этой функции, потому что платформа OpenGL управляет синхронизацией текстурирования.

    Каждый вызов к CGLReleasePBuffer уменьшения сохранить количество 1. Когда достигает сохранить количество 0, пиксельные буферные ресурсы объекта освобождены, и объект уничтожается. Результаты выдачи команд к уничтоженному пиксельному буферному объекту не определены.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.5 и позже.

    Осуждаемый в OS X v10.7.

  • Возвраты сохранить количество пикселя буферизуют объект.

    Объявление

    Objective C

    GLuint CGLGetPBufferRetainCount ( CGLPBufferObj pbuffer );

    Параметры

    pbuffer

    Пиксельный буфер возражает, чей сохраняют количество, которое Вы хотите получить.

    Возвращаемое значение

    Сохранить количество пикселя буферизует объект.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.5 и позже.

    Осуждаемый в OS X v10.7.

  • Высвобождает средства, связанные с пиксельным буферным объектом.

    Объявление

    Objective C

    CGLError CGLDestroyPBuffer ( CGLPBufferObj pbuffer );

    Параметры

    pbuffer

    Пиксельный буфер возражает, чьи средства Вы хотите высвободить.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Запускаясь в OS X v10.5, пиксельные буферные объекты являются считаемой ссылкой. Вызывание этой функции эквивалентно вызову CGLReleasePBuffer.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.7.

    См. также

    CGLCreatePBuffer

  • Получает пиксельный буфер и его параметры для указанного контекста рендеринга.

    Объявление

    Objective C

    CGLError CGLGetPBuffer ( CGLContextObj ctx, CGLPBufferObj *pbuffer, GLenum *face, GLint *level, GLint *screen );

    Параметры

    ctx

    Контекст рендеринга.

    pbuffer

    По возврату, точкам к пиксельному буферному объекту, присоединенному к контексту рендеринга.

    face

    По возврату, точкам к поверхности карты куба, установленной, если пиксельный буферный целевой тип текстуры GL_TEXTURE_CUBE_MAP; иначе 0 поскольку вся другая текстура предназначается для типов.

    level

    По возврату, точкам к текущему уровню множественного отображения для рисования.

    screen

    По возврату, точкам к текущему виртуальному экранному числу, как установлено последним допустимым вызовом к CGLSetPBuffer.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.7.

    См. также

    CGLSetPBuffer

  • Присоединяет пиксельный буферный объект к контексту рендеринга.

    Объявление

    Objective C

    CGLError CGLSetPBuffer ( CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum face, GLint level, GLint screen );

    Параметры

    ctx

    Контекст рендеринга для присоединения пикселя буферизует к.

    pbuffer

    Пиксельный буферный объект.

    face

    Если пиксельный буферный целевой тип текстуры, карта куба обращается, чтобы нарисовать GL_TEXTURE_CUBE_MAP; иначе передача 0.

    level

    Уровень множественного отображения для рисования. Когда пиксельный буферный объект создавался, это не должно превышать максимальный набор уровня множественного отображения. Передача 0 для не поддерживающей цели текстуры множественно отображается.

    screen

    Виртуальное экранное значение. Виртуальный экран определяет средство рендеринга использование OpenGL для рисования к пиксельному буферному объекту. Для лучшей производительности, для пиксельного буфера, используемого в качестве источника текстуры, необходимо предоставить виртуальное экранное значение, приводящее к использованию того же средства рендеринга, используемого контекстом, это - цель текстурирования.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    В первый раз, когда Вы вызываете эту функцию для определенного пиксельного буферного объекта, система создает необходимые буферы. Буферы создаются для поддержки атрибутов, продиктованных объектом формата пикселя, используемым для создания контекста рендеринга, и параметрами раньше создавал пиксельный буферный объект. Требования хранения для пикселя буферизуют объекты, которые могут быть довольно большими, очень подобны требованиям для окон или представлений с присоединенными контекстами OpenGL. Все drawable объекты конкурируют за те же дефицитные ресурсы. Эта функция может перестать работать, существует недостаточно непрерывного VRAM для каждого буфера. Лучше кодировать защитно со схемой, сокращающей потребление ресурсов, не заставляя приложение обратиться к отказу. Если, конечно, отказ не является единственной жизнеспособной альтернативой.

    Возможность присоединить пиксельный буфер к контексту поддерживается только на средствах рендеринга тот экспорт GL_APPLE_pixel_buffer в GL_EXTENSIONS строка. Прежде, чем вызвать эту функцию, необходимо программно определить, возможно ли присоединить пиксельный буфер к контексту путем запросов GL_EXTENSIONS в контексте и поиске GL_APPLE_pixel_buffer. Если то расширение не будет присутствовать, то средство рендеринга не позволит устанавливать пиксельный буфер.

    В порядке производительности это средства рендеринга, которых необходимо рассмотреть использование при установке контекста рендеринга для присоединения к пиксельному буферу:

    • Аппаратное средство рендеринга.

    • Универсальный рендеринг, но только с внеэкранным форматом пикселя и glTexSubImage.

    • Средство рендеринга программного обеспечения Apple, поддерживающее пиксельные буферы в OS X v10.4.8 и позже.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.7.

    См. также

    CGLGetPBuffer

  • Связывает содержание пиксельного буфера к источнику данных для объекта текстуры.

    Объявление

    Objective C

    CGLError CGLTexImagePBuffer ( CGLContextObj ctx, CGLPBufferObj pbuffer, GLenum source );

    Параметры

    ctx

    Контекст рендеринга, который является целевым контекстом для работы текстуры. Это - контекст, к которому Вы планируете представить содержание. Это не контекст, присоединенный к пиксельному буферу.

    pbuffer

    Пиксельный буферный объект.

    source

    Исходный буфер для получения текстуры от, который должен быть допустимым буфером OpenGL такой как GL_FRONT или GL_BACK и должно быть совместимо с буфером и атрибутами средства рендеринга, что Вы раньше создавали контекст рендеринга, присоединенный к пиксельному буферу. Это означает, что пиксельный буфер должен обладать рассматриваемым буфером для работы текстурирования для следования.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Необходимо генерировать и связать имя текстуры (использующий стандартные вызовы текстурирования OpenGL), который совместим с пиксельной буферной целью текстуры. Не предоставляйте объект текстуры, использовавшийся ранее для непиксельного буфера текстурирование операций, если Вы сначала не вызываете glDeleteTextures регенерировать имя текстуры.

    При изменении содержания пиксельного буфера, который использование множественно отображает уровни, необходимо вызвать эту функцию снова прежде, чем нарисовать с пиксельным буфером, гарантировать, что содержание синхронизируется с OpenGL. Для пиксельных буферов без множественных отображений просто снова переплетите к объекту текстуры синхронизировать содержание.

    Никакие вызовы текстурирования OpenGL, изменяющие пиксельное буферное содержание текстуры, не разрешены (такой как glTexSubImage2D или glCopyTexImage2D) с пикселем буферизуют текстуру как место назначения. Разрешено использовать команды текстурирования для чтения данных из пиксельной буферной текстуры, такой как glCopyTexImage2D, с пикселем буферизуют текстуру как источник. Также законно использовать функции OpenGL такой как glReadPixels для чтения содержания пикселя буферизуют непосредственно через пиксельный буферный контекст.

    Обратите внимание на то, что текстурирование с CGLTexImagePBuffer функция может не привести к намеченным результатам без ошибки таким же образом, другие команды текстурирования OpenGL могут обычно перестать работать. Функция перестала работать при установке несовместимого режима фильтра не включайте надлежащую цель текстуры или другие условия, описанные в спецификации OpenGL.

    Вы не должны совместно использовать контекст для использования пиксельного буферного объекта в качестве источника текстуры. Можно использовать независимые объекты формата пикселя и контексты OpenGL и для пиксельного буфера и для целевого drawable объекта, не совместно используя ресурсы, и все еще текстурировать использование пиксельного буфера в целевом контексте.

    Для получения дополнительной информации о том, как использовать пиксельный буферный объект в качестве источника текстуры, см. Руководство по программированию OpenGL для Mac.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.7.

  • Возвращает строку, описывающую указанный код результата.

    Объявление

    Swift

    func CGLErrorString(_ error: CGLError) -> UnsafePointer<Int8>

    Objective C

    const char * CGLErrorString ( CGLError error );

    Параметры

    error

    Кодовая константа результата CGL возвратилась из функции CGL. Для описания этих констант см. Коды Результата CGL.

    Возвращаемое значение

    Строка ошибки, описывающая кодовую константу результата, передала в error параметр. Если код результата недопустим, возвращает строку “Никакой такой код ошибки”.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Устанавливает значение глобальной опции.

    Использовать CGLSetGlobalOption вместо этого.

    Объявление

    Swift

    func CGLSetOption(_ pname: CGLGlobalOption, _ param: GLint) -> CGLError

    Objective C

    CGLError CGLSetOption ( CGLGlobalOption pname, GLint param );

    Параметры

    pname

    Имя опции, значение которой Вы хотите установить. Посмотрите Глобальные Опции для списка констант, которые можно передать.

    param

    Значение для установки опции в.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Эта функция изменяет значения опций, влияющих на работу OpenGL во всех контекстах рендеринга в приложении, не только текущем контексте рендеринга.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLGetOption

  • Получает значение глобальной опции.

    Использовать CGLGetGlobalOption вместо этого.

    Объявление

    Swift

    func CGLGetOption(_ pname: CGLGlobalOption, _ param: UnsafeMutablePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLGetOption ( CGLGlobalOption pname, GLint *param );

    Параметры

    pname

    Имя опции, значение которой Вы хотите получить. Посмотрите Глобальные Опции для списка констант, которые можно передать.

    param

    По возврату, указателю на значение опции.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLSetOption

  • Получает значение глобальной опции.

    Объявление

    Swift

    func CGLGetGlobalOption(_ pname: CGLGlobalOption, _ params: UnsafeMutablePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLGetGlobalOption ( CGLGlobalOption pname, GLint *params );

    Параметры

    pname

    Имя опции, значение которой Вы хотите получить. Посмотрите Глобальные Опции для списка констант, которые можно передать.

    params

    По возврату, указателю на значение опции.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.6 и позже.

    См. также

    CGLSetGlobalOption

  • Устанавливает значение глобальной опции.

    Объявление

    Swift

    func CGLSetGlobalOption(_ pname: CGLGlobalOption, _ params: UnsafePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLSetGlobalOption ( CGLGlobalOption pname, const GLint *params );

    Параметры

    pname

    Имя опции, значение которой Вы хотите установить. Посмотрите Глобальные Опции для списка констант, которые можно передать.

    params

    Значение для установки опции в.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Эта функция изменяет значения опций, влияющих на работу OpenGL во всех контекстах рендеринга в приложении, не только текущем контексте рендеринга.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.6 и позже.

    См. также

    CGLGetGlobalOption

  • Получает номера основной версии и номера вспомогательной версии библиотеки CGL.

    Объявление

    Swift

    func CGLGetVersion(_ majorvers: UnsafeMutablePointer<GLint>, _ minorvers: UnsafeMutablePointer<GLint>)

    Objective C

    void CGLGetVersion ( GLint *majorvers, GLint *minorvers );

    Параметры

    majorvers

    По возврату, точкам к номеру основной версии библиотеки CGL.

    minorvers

    По возврату, точкам к номеру вспомогательной версии библиотеки CGL.

    Обсуждение

    Реализации CGL с тем же номером основной версии вверх совместимы, означая, что реализация с самым высоким незначительным числом является надмножеством версии с самым низким незначительным числом.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Получает значение, связанное со свойством средства рендеринга.

    Объявление

    Swift

    func CGLDescribeRenderer(_ rend: CGLRendererInfoObj, _ rend_num: GLint, _ prop: CGLRendererProperty, _ value: UnsafeMutablePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLDescribeRenderer ( CGLRendererInfoObj rend, GLint rend_num, CGLRendererProperty prop, GLint *value );

    Параметры

    rend

    Непрозрачный информационный объект средства рендеринга, содержащий описание возможностей средства рендеринга, которые Вы хотите проверить. Можно получить информационный объект средства рендеринга путем вызова функционального CGLQueryRendererInfo. Необходимо вызвать CGLDestroyRendererInfo когда Вам больше не нужен этот объект.

    rend_num

    Индекс средства рендеринга в информационном объекте средства рендеринга — значение между 0 и число средств рендеринга минус одно. Число средств рендеринга может быть получено путем вызова CGLDescribeRenderer, передача в rend, средство рендеринга номер 0 и свойство средства рендеринга kCGLRPRendererCount.

    prop

    Свойство средства рендеринга, значение которого Вы хотите получить. Посмотрите Свойства Средства рендеринга для списка констант, которые можно предоставить для этого параметра.

    value

    По возврату, точкам к значению требуемого свойства.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLQueryRendererInfo

  • Освобождает ресурсы, связанные с информационным объектом средства рендеринга.

    Объявление

    Swift

    func CGLDestroyRendererInfo(_ rend: CGLRendererInfoObj) -> CGLError

    Objective C

    CGLError CGLDestroyRendererInfo ( CGLRendererInfoObj rend );

    Параметры

    rend

    Информационный объект средства рендеринга для уничтожения.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает информационный объект средства рендеринга, содержащий свойства и оценивающий за средства рендеринга, которые в состоянии управлять всеми указанными дисплеями в данной маске дисплея.

    Объявление

    Swift

    func CGLQueryRendererInfo(_ display_mask: GLuint, _ rend: UnsafeMutablePointer<CGLRendererInfoObj>, _ nrend: UnsafeMutablePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLQueryRendererInfo ( GLuint display_mask, CGLRendererInfoObj *rend, GLint *nrend );

    Параметры

    display_mask

    Немного поля, содержащего поразрядное OR из OpenGL выводят на экран маски, возвращенные CGDisplayIDToOpenGLDisplayMask функция. Если Вы хотите получить информацию для всех средств рендеринга в системе, необходимо вызвать CGLQueryRendererInfo один раз для каждого дисплея укусил.

    rend

    Адрес памяти информационного объекта средства рендеринга. По возврату, точкам к информационному объекту средства рендеринга, описывающему все средства рендеринга, которые в состоянии управлять дисплеями, указанными display_mask параметр. Если display_mask не указывает дисплеев, значения rend установлен в NULL. Необходимо вызвать CGLDestroyRendererInfo когда Вам больше не нужен этот объект.

    nrend

    По возврату, точкам к числу средств рендеринга, описанных в информационном объекте средства рендеринга. Если display_mask не указывает дисплеев, значения nrend установлен в 0.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Вызывает последующие команды OpenGL к указанному виртуальному экрану.

    Объявление

    Swift

    func CGLSetVirtualScreen(_ ctx: CGLContextObj, _ screen: GLint) -> CGLError

    Objective C

    CGLError CGLSetVirtualScreen ( CGLContextObj ctx, GLint screen );

    Параметры

    ctx

    Контекст рендеринга.

    screen

    Виртуальное экранное число, которое должно быть значением между 0 и число виртуальных экранов минус один. Число виртуальных экранов, доступных в контексте, может быть получено путем вызывания функции CGLDescribePixelFormat, передача в объекте формата пикселя раньше создавала контекст рендеринга, 0 для виртуального экранного числа (pix_num параметр), и постоянный атрибут kCGLPFAVirtualScreenCount.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Установка виртуального экрана вынуждает средство рендеринга, связанное с виртуальным экраном обработать команды OpenGL, данные к указанному контексту. Изменение виртуального экрана изменяет текущее средство рендеринга. Необходимо использовать эту функцию только, когда необходимо переопределить поведение по умолчанию. Текущий виртуальный экран обычно устанавливается автоматически. Поскольку текущий виртуальный экран определяет, какое средство рендеринга OpenGL обрабатывает команды, возвращаемые значения всех glGetXXX функции могут быть затронуты текущим виртуальным экраном.

    Для получения дальнейшей информации на виртуальных экранах, см. Руководство по программированию OpenGL для Mac.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLGetVirtualScreen

  • Получает текущее виртуальное экранное число, связанное с контекстом рендеринга.

    Объявление

    Swift

    func CGLGetVirtualScreen(_ ctx: CGLContextObj, _ screen: UnsafeMutablePointer<GLint>) -> CGLError

    Objective C

    CGLError CGLGetVirtualScreen ( CGLContextObj ctx, GLint *screen );

    Параметры

    ctx

    Контекст рендеринга.

    screen

    По возврату, точкам на виртуальный экран, связанный с контекстом. Значение всегда 0 в единственной системе отображения и –1 если функция перестала работать по какой-либо причине.

    Возвращаемое значение

    Код результата. См. Коды Результата CGL.

    Обсуждение

    Когда drawable объект перемещен или изменен через графические границы устройств, текущий виртуальный экран может измениться. Изменение на текущем виртуальном экране может влиять на возвращаемые значения некоторых функций OpenGL и в большинстве случаев также означает, что изменилось средство рендеринга.

    Для получения дальнейшей информации на виртуальных экранах, см. Руководство по программированию OpenGL для Mac.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    CGLGetVirtualScreen

Типы данных

  • Представляет указатель на непрозрачный объект контекста CGL.

    Объявление

    Swift

    typealias CGLContextObj = UnsafeMutablePointer<_CGLContextObject>

    Objective C

    typedef struct _CGLContextObject *CGLContextObj;

    Обсуждение

    Этот тип данных указывает на структуру, что использование CGL для поддержания состояния и другой информации связалось с контекстом рендеринга OpenGL. Используйте функции, описанные в Управляющих Контекстах и Получении и Установке Опций Контекста создать, управлять, получить доступ, и освободить объект контекста CGL.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Представляет указатель на объект формата непрозрачного пикселя.

    Объявление

    Swift

    typealias CGLPixelFormatObj = COpaquePointer

    Objective C

    typedef struct _CGLPixelFormatObject *CGLPixelFormatObj;

    Обсуждение

    Этот тип данных указывает на структуру что использование CGL для поддержания формата пикселя и виртуальной информации об экране для данного набора средства рендеринга и буферных опций. Используйте функции, описанные в Управлении Объектами Формата пикселя создать, управлять, получить доступ, и освободить объект формата пикселя.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Представляет указатель на непрозрачный информационный объект средства рендеринга.

    Объявление

    Swift

    typealias CGLRendererInfoObj = COpaquePointer

    Objective C

    typedef struct _CGLRendererInfoObject *CGLRendererInfoObj;

    Обсуждение

    Этот тип данных указывает на структуру, что использование CGL для поддержания информации о средствах рендеринга связалось с дисплеем. Используйте функции, описанные в Получении информации Средства рендеринга, чтобы создать, получить доступ, и освободить информационный объект средства рендеринга.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Представляет указатель на буферный объект непрозрачного пикселя.

    Объявление

    Objective C

    typedef struct _CGLPBufferObject *CGLPBufferObj;

    Обсуждение

    Этот тип данных указывает на структуру, что CGL использует для аппаратно ускоренного внеэкранного получения. Используйте функции, описанные в Управлении Объектами Формата пикселя создать, управлять, получить доступ, и освободить пиксельный буферный объект.

    Оператор импорта

    Objective C

    @import OpenGL;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.7.

Константы

  • Определите константы, используемые для установки буферных режимов.

    Объявление

    Objective C

    #define kCGLMonoscopicBit 0x00000001 #define kCGLStereoscopicBit x00000002 #define kCGLSingleBufferBit x00000004 #define kCGLDoubleBufferBit x00000008

    Константы

    • kCGLMonoscopicBit

      kCGLMonoscopicBit

      Левый буфер.

    • kCGLStereoscopicBit

      kCGLStereoscopicBit

      Левый и правый буфер.

    • kCGLSingleBufferBit

      kCGLSingleBufferBit

      Передний буфер.

    • kCGLDoubleBufferBit

      kCGLDoubleBufferBit

      Буфер передней и задней части.

  • Укажите, что атрибуты раньше выбирали форматы пикселя и виртуальные экраны.

    Объявление

    Swift

    typealias CGLPixelFormatAttribute = _CGLPixelFormatAttribute

    Objective C

    typedef enum _CGLPixelFormatAttribute { kCGLPFAAllRenderers = 1, kCGLPFADoubleBuffer = 5, kCGLPFAStereo = 6, kCGLPFAAuxBuffers = 7, kCGLPFAColorSize = 8, kCGLPFAAlphaSize = 11, kCGLPFADepthSize = 12, kCGLPFAStencilSize = 13, kCGLPFAAccumSize = 14, kCGLPFAMinimumPolicy = 51, kCGLPFAMaximumPolicy = 52, kCGLPFAOffScreen = 53, kCGLPFAFullScreen = 54, kCGLPFASampleBuffers = 55, kCGLPFASamples = 56, kCGLPFAAuxDepthStencil = 57, kCGLPFAColorFloat = 58, kCGLPFAMultisample = 59, kCGLPFASupersample = 60, kCGLPFASampleAlpha = 61, kCGLPFARendererID = 70, kCGLPFASingleRenderer = 71, kCGLPFANoRecovery = 72, kCGLPFAAccelerated = 73, kCGLPFAClosestPolicy = 74, kCGLPFARobust = 75, kCGLPFABackingStore = 76, kCGLPFAMPSafe = 78, kCGLPFAWindow = 80, kCGLPFAMultiScreen = 81, kCGLPFACompliant = 83, kCGLPFADisplayMask = 84, kCGLPFAPBuffer = 90, kCGLPFARemotePBuffer = 91, kCGLPFAAllowOfflineRenderers = 96, kCGLPFAAcceleratedCompute = 97, kCGLPFAOpenGLProfile = 99, kCGLPFAVirtualScreenCount = 128, } CGLPixelFormatAttribute;

    Константы

    • kCGLPFAAllRenderers

      kCGLPFAAllRenderers

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, выбор формата пикселя открыт для всех доступных средств рендеринга, включая отладку и средства рендеринга специального назначения, которые не являются совместимым OpenGL. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

    • kCGLPFADoubleBuffer

      kCGLPFADoubleBuffer

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, только форматы пикселя с двойной буферизацией рассматривают. Иначе, только однобуферные форматы пикселя рассматривают. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAStereo

      kCGLPFAStereo

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, только форматы пикселя стерео рассматривают. Иначе, только monoscopic форматы пикселя рассматриваются. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAAuxBuffers

      kCGLPFAAuxBuffers

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

      Осуждаемый в OS X v10.7. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAColorSize

      kCGLPFAColorSize

      Присваиваемое значение является неотрицательной спецификацией размера буфера. Предпочтен цветной буфер, наиболее близко соответствующий указанный размер. Если неуказанный, OpenGL выбирает цветной размер буфера, соответствующий экран.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAAlphaSize

      kCGLPFAAlphaSize

      Присваиваемое значение является неотрицательной спецификацией размера буфера. Предпочтен альфа-буфер, наиболее близко соответствующий указанный размер.

      Доступный в OS X v10.0 и позже.

    • kCGLPFADepthSize

      kCGLPFADepthSize

      Присваиваемое значение является неотрицательной спецификацией размера буфера глубины. Предпочтен буфер глубины, наиболее близко соответствующий указанный размер.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAStencilSize

      kCGLPFAStencilSize

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

      Доступный в OS X v10.0 и позже.

    • kCGLPFAAccumSize

      kCGLPFAAccumSize

      Присваиваемое значение является неотрицательной спецификацией размера буфера. Предпочтен буфер накопления, наиболее близко соответствующий указанный размер.

      Осуждаемый в OS X v10.7. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAMinimumPolicy

      kCGLPFAMinimumPolicy

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, политика выбора формата пикселя изменена для цвета, глубины и буферов накопления, таким образом, что только рассматривают буферы размера, больше, чем или равный желаемому размеру. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAMaximumPolicy

      kCGLPFAMaximumPolicy

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, политика выбора формата пикселя изменена для цвета, глубины и буферов накопления, таким образом, что, если ненулевой размер буфера требуют, предпочтен самый большой доступный буфер. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAOffScreen

      kCGLPFAOffScreen

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, только средства рендеринга, которые способны к рендерингу к внеэкранной области памяти и имеют буферную глубину точно, равняются желаемой буферной глубине, рассматриваются. kCGLPFAClosestPolicy атрибут подразумевается. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v10.7. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.7.

    • kCGLPFAFullScreen

      kCGLPFAFullScreen

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, только средства рендеринга, которые способны к рендерингу к полноэкранному drawable объекту, рассматривают. kCGLPFASingleRenderer атрибут подразумевается. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v10.6 или позже. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLPFAAuxDepthStencil

      kCGLPFAAuxDepthStencil

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, каждый вспомогательный буфер имеет свой собственный буфер шаблонов глубины. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v.10.7 или позже. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.2 и позже.

    • kCGLPFAColorFloat

      kCGLPFAColorFloat

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, цветные буферы хранят пиксели с плавающей точкой. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.2 и позже.

    • kCGLPFAMultisample

      kCGLPFAMultisample

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, указывает подсказку к драйверу, чтобы предпочесть мультивыбирать. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.3 и позже.

    • kCGLPFASupersample

      kCGLPFASupersample

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, указывает подсказку к драйверу для предпочтения избыточной выборки. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.3 и позже.

    • kCGLPFASampleAlpha

      kCGLPFASampleAlpha

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, альфа-фильтрации запроса при мультивыборке. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.3 и позже.

    • kCGLPFASampleBuffers

      kCGLPFASampleBuffers

      Число мультидемонстрационных буферов. Присваиваемое значение является неотрицательным целым числом, указывающим число существующих независимых демонстрационных буферов. Как правило, значение 0 если никакой мультидемонстрационный буфер не существует или 1.

      Доступный в OS X v10.2 и позже.

    • kCGLPFASamples

      kCGLPFASamples

      Число выборок на мультидемонстрационный буфер. Присваиваемое значение является неотрицательным целым числом, указывающим желаемое число выборок, которые могут быть взяты в единственном пикселе. Самый маленький демонстрационный буфер с, по крайней мере, конкретным количеством выборок предпочтен.

      Доступный в OS X v10.2 и позже.

    • kCGLPFARendererID

      kCGLPFARendererID

      Присваиваемое значение является неотрицательным Идентификационным номером средства рендеринга и может быть любой из констант, определенных в Средстве рендеринга IDs. Предпочтены средства рендеринга OpenGL, соответствующие указанный ID. Знаменитый kCGLRendererGenericFloatID, который выбирает средство рендеринга программного обеспечения Apple. Другие константы выбирают средства рендеринга для определенных поставщиков оборудования.

      Доступный в OS X v10.0 и позже.

    • kCGLPFASingleRenderer

      kCGLPFASingleRenderer

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, единственный механизм рендеринга выбран. В системах с многократными дисплеями это отключает возможность OpenGL управлять различными дисплеями через различные карты графического акселератора с единственным контекстом. Этот атрибут не обычно полезен. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.9.

    • kCGLPFANoRecovery

      kCGLPFANoRecovery

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, механизмы восстановления после отказа OpenGL отключены. Обычно, если ускоренное средство рендеринга перестало работать вследствие отсутствия ресурсов, OpenGL автоматически переключается на другое средство рендеринга. Этот атрибут отключает эти опции так, чтобы рендеринг был всегда выполнен выбранным средством рендеринга. Этот атрибут не обычно полезен. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAAccelerated

      kCGLPFAAccelerated

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, только аппаратно ускоренные средства рендеринга рассматривают. Если false, ускоренные средства рендеринга все еще предпочтены. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAClosestPolicy

      kCGLPFAClosestPolicy

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, политика выбора формата пикселя изменена для буфера цвета, таким образом, что буфер, самый близкий к требуемому размеру, предпочтен, независимо от фактической цветной буферной глубины поддерживаемого графического устройства. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

    • kCGLPFARobust

      kCGLPFARobust

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, только средства рендеринга, не имеющие никаких видов отказа связанными с отсутствием ресурсов видеокарты, рассматривают. Этот атрибут не обычно полезен. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v10.5 и позже. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.5.

    • kCGLPFABackingStore

      kCGLPFABackingStore

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, OpenGL рассматривает только средства рендеринга, имеющие задний буфер цвета полный размер drawable объекта и той гарантии заднее содержимое буфера, чтобы быть допустимыми после вызова к CGLFlushDrawable. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAMPSafe

      kCGLPFAMPSafe

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, OpenGL рассматривает только средства рендеринга, которые ориентированы на многопотоковое исполнение. Поскольку все средства рендеринга ориентированы на многопотоковое исполнение, этот атрибут не полезен. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v10.5 и позже. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.5.

    • kCGLPFAWindow

      kCGLPFAWindow

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, только средства рендеринга, которые способны к рендерингу к окну, рассматривают. Этот атрибут подразумевается если ни один kCGLPFAFullScreen ни kCGLPFAOffScreen указан. Поскольку CGL поддерживает только полноэкранные или внеэкранные drawable объекты, этот атрибут не полезен. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v10.7. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.9.

    • kCGLPFAMultiScreen

      kCGLPFAMultiScreen

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, только средства рендеринга, способные к управлению многократными дисплеями, рассматривают. Этот атрибут не обычно полезен. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v10.5 и позже. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.5.

    • kCGLPFACompliant

      kCGLPFACompliant

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, выбор формата пикселя только открыт для OpenGL совместимые средства рендеринга. Этот атрибут подразумевается если kCGLPFAAllRenderers указан. Этот атрибут не полезен в массиве атрибута. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v10.7. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.9.

    • kCGLPFADisplayMask

      kCGLPFADisplayMask

      Присваиваемое значение является небольшим количеством маски поддерживаемых физических дисплеев. Все дисплеи, указанные в битовой маске, как гарантируют, будут поддерживаться форматом пикселя. Дисплеи, не указанные в битовой маске, могут все еще поддерживаться. Битовой маской управляет Quartz Display Services, доступная в CGDirectDisplay.h заголовок платформы защиты Прикладных служб. A CGDirectDisplayID должен быть преобразован в маску дисплея OpenGL с помощью функции CGDisplayIDToOpenGLDisplayMask. Этот атрибут не обычно полезен.

      Доступный в OS X v10.0 и позже.

    • kCGLPFAPBuffer

      kCGLPFAPBuffer

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, формат пикселя может использоваться для рендеринга к пиксельному буферу. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v10.7. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.3 и позже.

      Осуждаемый в OS X v10.7.

    • kCGLPFARemotePBuffer

      kCGLPFARemotePBuffer

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, формат пикселя может использоваться для рендеринга оффлайн к пиксельному буферу. Не предоставляйте значение эту константу, потому что ее присутствие в массиве подразумевает true.

      Осуждаемый в OS X v10.7. Если массив атрибутов также запрашивает профиль кроме устаревшего профиля OpenGL, этот атрибут не должен быть указан; если настоящее, сбои создания формата пикселя.

      Доступный в OS X v10.3 и позже.

      Осуждаемый в OS X v10.9.

    • kCGLPFAAllowOfflineRenderers

      kCGLPFAAllowOfflineRenderers

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибута, средства рендеринга, которые доступны, но не в настоящее время подключаемые к дисплею, можно рассмотреть.

      Доступный в OS X v10.5 и позже.

    • kCGLPFAAcceleratedCompute

      kCGLPFAAcceleratedCompute

      Эта константа является булевым атрибутом. Если это присутствует в массиве атрибутов, только средства рендеринга, представляющие к устройству, которое способно к обработке OpenCL, рассматривают.

      Доступный в OS X v10.6 и позже.

    • kCGLPFAOpenGLProfile

      kCGLPFAOpenGLProfile

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

      Доступный в OS X v10.7 и позже.

    • kCGLPFAVirtualScreenCount

      kCGLPFAVirtualScreenCount

      Этот атрибут может использоваться для получения числа виртуальных экранов, указанных существующим объектом формата пикселя. Для получения значения вызовите функцию CGLDescribePixelFormat, передавая объект формата пикселя, виртуальное экранное число 0, и этот атрибут. Этот атрибут не полезен в массиве атрибута, это используется для создания объекта формата пикселя.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Эти константы используются CGLChoosePixelFormat и CGLDescribePixelFormat. Существование булева атрибута в массиве атрибута CGLChoosePixelFormat подразумевает a true значение. Другие константы атрибута должны сопровождаться значением.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Укажите форматы для цветных и буферов накопления.

    Объявление

    Objective C

    #define kCGLRGB444Bit 0x00000040 #define kCGLARGB4444Bit 0x00000080 #define kCGLRGB444A8Bit 0x00000100 #define kCGLRGB555Bit 0x00000200 #define kCGLARGB1555Bit 0x00000400 #define kCGLRGB555A8Bit 0x00000800 #define kCGLRGB565Bit 0x00001000 #define kCGLRGB565A8Bit 0x00002000 #define kCGLRGB888Bit 0x00004000 #define kCGLARGB8888Bit 0x00008000 #define kCGLRGB888A8Bit 0x00010000 #define kCGLRGB101010Bit 0x00020000 #define kCGLARGB2101010Bit 0x00040000 #define kCGLRGB101010_A8Bit x00080000 #define kCGLRGB121212Bit 0x00100000 #define kCGLARGB12121212Bit x00200000 #define kCGLRGB161616Bit 0x00400000 #define kCGLRGBA16161616Bit x00800000 #define kCGLRGBFloat64Bit 0x01000000 #define kCGLRGBAFloat64Bit 0x02000000 #define kCGLRGBFloat128Bit 0x04000000 #define kCGLRGBAFloat128Bit x08000000 #define kCGLRGBFloat256Bit 0x10000000 #define kCGLRGBAFloat256Bit x20000000

    Константы

    • kCGLRGB444Bit

      kCGLRGB444Bit

      Формат, имеющий 16 бит на пиксель с расположением канала RGB и каналы, расположенные в следующих битах: R=11:8, G=7:4, B=3:0.

    • kCGLARGB4444Bit

      kCGLARGB4444Bit

      Формат, имеющий 16 бит на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: A=15:12, R=11:8, G=7:4, B=3:0.

    • kCGLRGB444A8Bit

      kCGLRGB444A8Bit

      Формат, имеющий 8-16 бит на пиксель с расположением канала RGB и каналы, расположенные в следующих битах: A=7:0, R=11:8, G=7:4, B=3:0.

    • kCGLRGB555Bit

      kCGLRGB555Bit

      Формат, имеющий 16 бит на пиксель с расположением канала RGB и каналы, расположенные в следующих битах: R=14:10, G=9:5, B=4:0.

    • kCGLARGB1555Bit

      kCGLARGB1555Bit

      Формат, имеющий 16 бит на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: A=15, R=14:10, G=9:5, B=4:0.

    • kCGLRGB555A8Bit

      kCGLRGB555A8Bit

      Формат, имеющий 8-16 бит на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: A=7:0, R=14:10, G=9:5, B=4:0.

    • kCGLRGB565Bit

      kCGLRGB565Bit

      Формат, имеющий 16 бит на пиксель с расположением канала RGB и каналы, расположенные в следующих битах: R=15:11, G=10:5, B=4:0.

    • kCGLRGB565A8Bit

      kCGLRGB565A8Bit

      Формат, имеющий 8-16 бит на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: A=7:0, R=15:11, G=10:5, B=4:0.

    • kCGLRGB888Bit

      kCGLRGB888Bit

      Формат, имеющий 32 бита на пиксель с расположением канала RGB и каналы, расположенные в следующих битах: R=23:16, G=15:8, B=7:0.

    • kCGLARGB8888Bit

      kCGLARGB8888Bit

      Формат, имеющий 32 бита на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: A=31:24, R=23:16, G=15:8, B=7:0.

    • kCGLRGB888A8Bit

      kCGLRGB888A8Bit

      Формат, имеющий 8-32 бита на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: A=7:0, R=23:16, G=15:8, B=7:0.

    • kCGLRGB101010Bit

      kCGLRGB101010Bit

      Формат, имеющий 32 бита на пиксель с расположением канала RGB и каналы, расположенные в следующих битах: R=29:20, G=19:10, B=9:0.

    • kCGLARGB2101010Bit

      kCGLARGB2101010Bit

      Формат, имеющий 32 бита на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: A=31:30 R=29:20, G=19:10, B=9:0.

    • kCGLRGB101010_A8Bit

      kCGLRGB101010_A8Bit

      Формат, имеющий 8-32 бита на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: A=7:0 R=29:20, G=19:10, B=9:0.

    • kCGLRGB121212Bit

      kCGLRGB121212Bit

      Формат, имеющий 48 бит на пиксель с расположением канала RGB и каналы, расположенные в следующих битах: R=35:24, G=23:12, B=11:0.

    • kCGLARGB12121212Bit

      kCGLARGB12121212Bit

      Формат, имеющий 48 бит на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: A=47:36, R=35:24, G=23:12, B=11:0.

    • kCGLRGB161616Bit

      kCGLRGB161616Bit

      Формат, имеющий 64 бита на пиксель с расположением канала RGB и каналы, расположенные в следующих битах: R=63:48, G=47:32, B=31:16.

    • kCGLRGBA16161616Bit

      kCGLRGBA16161616Bit

      Формат, имеющий 64 бита на пиксель с расположением канала ARGB и каналы, расположенные в следующих битах: R=63:48, G=47:32, B=31:16, A=15:0.

    • kCGLRGBFloat64Bit

      kCGLRGBFloat64Bit

      Формат, имеющий 64 бита на пиксель с RGB половина расположения канала с плавающей точкой.

    • kCGLRGBAFloat64Bit

      kCGLRGBAFloat64Bit

      Формат, имеющий 64 бита на пиксель с половиной ARGB расположения канала с плавающей точкой.

    • kCGLRGBFloat128Bit

      kCGLRGBFloat128Bit

      Формат, имеющий 128 бит на пиксель с RGB IEEE расположение канала с плавающей точкой.

    • kCGLRGBAFloat128Bit

      kCGLRGBAFloat128Bit

      Формат, имеющий 128 бит на пиксель с IEEE ARGB расположение канала с плавающей точкой.

    • kCGLRGBFloat256Bit

      kCGLRGBFloat256Bit

      Формат, имеющий 256 бит на пиксель с RGB IEEE двойное расположение канала.

    • kCGLRGBAFloat256Bit

      kCGLRGBAFloat256Bit

      Формат, имеющий 256 бит на пиксель с IEEE ARGB двойное расположение канала.

  • Укажите опции, влияющие на контекст рендеринга.

    Объявление

    Swift

    typealias CGLContextEnable = _CGLContextEnable

    Objective C

    typedef enum _CGLContextEnable { kCGLCESwapRectangle = 201, kCGLCERasterization = 221, kCGLCEStateValidation = 301, kCGLCESurfaceBackingSize = 305, kCGLCEDisplayListOptimization = 307, kCGLCEMPEngine = 313 } CGLContextEnable;

    Константы

    • kCGLCESwapRectangle

      kCGLCESwapRectangle

      Если включено, область drawable объекта, затронутого CGLFlushDrawable ограничивается прямоугольником, указанным значениями kCGLCPSwapRectangle. Однако часть drawable объекта, находящегося за пределами прямоугольника подкачки, может все еще быть сброшена на экран изменением видимости или другим действием пользовательского интерфейса. Установить или получить значения kCGLCPSwapRectangle, используйте функции CGLSetParameter или CGLGetParameter, соответственно. Для получения дополнительной информации о kCGLCPSwapRectangle, посмотрите Параметры Контекста.

      Доступный в OS X v10.0 и позже.

    • kCGLCERasterization

      kCGLCERasterization

      Если отключено, вся растеризация 2D и 3D примитивов отключена. Это состояние полезно для отладки и охарактеризовать производительность драйвера OpenGL без фактического рендеринга.

      Доступный в OS X v10.0 и позже.

    • kCGLCEStateValidation

      kCGLCEStateValidation

      Если включено, OpenGL проверяет состояние контекста каждый раз когда CGLSetVirtualScreen вызывается, чтобы гарантировать, что это находится в надлежащем состоянии для переключения между средствами рендеринга. Обычно, состояние проверено только, когда фактически необходимо переключить средства рендеринга. В CGL переключается средство рендеринга, только если Вы вызываете CGLSetVirtualScreen с виртуальным экранным числом, отличающимся от текущего.

      Доступный в OS X v10.0 и позже.

    • kCGLCESurfaceBackingSize

      kCGLCESurfaceBackingSize

      Если включено, переопределяет размер поддержки поверхности.

      Доступный в OS X v10.3 и позже.

    • kCGLCEDisplayListOptimization

      kCGLCEDisplayListOptimization

      Если отключено, выключает оптимизацию для дисплейного списка.

      Доступный в OS X v10.3 и позже.

    • kCGLCEMPEngine

      kCGLCEMPEngine

      Если включено, OpenGL выполняет свои собственные внутренние вычисления на отдельном потоке.

      Доступный в OS X v10.4 и позже.

    Обсуждение

    Они используются функциями CGLEnable, CGLDisable и CGLIsEnabled.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Укажите параметры, применяющиеся к определенному контексту рендеринга.

    Объявление

    Swift

    typealias CGLContextParameter = _CGLContextParameter

    Objective C

    typedef enum _CGLContextParameter { kCGLCPSwapRectangle = 200, kCGLCPSwapInterval = 222, kCGLCPDispatchTableSize = 224, kCGLCPClientStorage = 226, kCGLCPSurfaceTexture = 228, kCGLCPSurfaceOrder = 235, kCGLCPSurfaceOpacity = 236, kCGLCPSurfaceBackingSize = 304, kCGLCPSurfaceSurfaceVolatile = 306, kCGLCPReclaimResources = 308, kCGLCPCurrentRendererID = 309, kCGLCPGPUVertexProcessing = 310, kCGLCPGPUFragmentProcessing = 311, kCGLCPHasDrawable = 314, kCGLCPMPSwapsInFlight = 315, } CGLContextParameter;

    Константы

    • kCGLCPSwapRectangle

      kCGLCPSwapRectangle

      Набор или получает прямоугольник подкачки. Прямоугольник подкачки представлен как массив четыре long значения: {x, y, width, height}. Для этого прямоугольника для влияния на результат вызывания функции CGLFlushDrawable, опция контекста kCGLCESwapRectangle должен быть включен. Для получения дополнительной информации о kCGLCESwapRectangle, посмотрите Опции Контекста.

      Доступный в OS X v10.0 и позже.

    • kCGLCPSwapInterval

      kCGLCPSwapInterval

      Набор или получает интервал подкачки. Интервал подкачки представлен как один long значение. Если интервал подкачки установлен в 0 (значение по умолчанию), CGLFlushDrawable выполняется как можно скорее, вне зависимости от частоты кадровой развертки монитора. Если интервал подкачки установлен в 1, буферы подкачиваются только во время вертикали, восстанавливают монитора.

      Доступный в OS X v10.0 и позже.

    • kCGLCPDispatchTableSize

      kCGLCPDispatchTableSize

      Набор или получает табличный размер отгрузки.

      Доступный в OS X v10.3 и позже.

    • kCGLCPClientStorage

      kCGLCPClientStorage

      Набор или получает произвольное 32-разрядное значение. Типичное использование должно было бы сохранить указатель на специализированные данные, связанные с контекстом.

      Доступный в OS X v10.0 и позже.

    • kCGLCPSurfaceTexture

      kCGLCPSurfaceTexture

      Установите поверхностную текстуру. Предоставьте поверхностный ID, цель и внутренний формат.

      Доступный в OS X v10.3 и позже.

      Осуждаемый в OS X v10.9.

    • kCGLCPSurfaceOrder

      kCGLCPSurfaceOrder

      Набор или получает позицию поверхности OpenGL относительно окна. Значение 1 средние значения, что позиция выше окна; значение –1 указывает позицию, которая является ниже окна.

      Доступный в OS X v10.2 и позже.

    • kCGLCPSurfaceOpacity

      kCGLCPSurfaceOpacity

      Набор или получает поверхностную непрозрачность. Значение 1 означает, что поверхность непрозрачна (значение по умолчанию); 0 абсолютно прозрачные средние значения.

      Доступный в OS X v10.2 и позже.

    • kCGLCPSurfaceBackingSize

      kCGLCPSurfaceBackingSize

      Набор или получает высоту и ширину заднего буфера. Можно использовать это, чтобы позволить системе масштабировать изображение автоматически при свопинге к буферу переменного размера. Задний размер буфера остается фиксированным в размере, который Вы устанавливаете независимо от того, изменено ли изображение для отображения больше на экране.

      Доступный в OS X v10.3 и позже.

    • kCGLCPSurfaceSurfaceVolatile

      kCGLCPSurfaceSurfaceVolatile

      Набор или получает энергозависимое состояние поверхности.

      Доступный в OS X v10.3 и позже.

    • kCGLCPReclaimResources

      kCGLCPReclaimResources

      Включите или отключите предъявление претензий в отношении ресурсов.

      Доступный в OS X v10.4 и позже.

    • kCGLCPCurrentRendererID

      kCGLCPCurrentRendererID

      Текущее средство рендеринга ID. Можно получить эту установку.

      Доступный в OS X v10.4 и позже.

    • kCGLCPGPUVertexProcessing

      kCGLCPGPUVertexProcessing

      GPU в настоящее время обрабатывает вершины с GPU. Можно получить это состояние.

      Доступный в OS X v10.4 и позже.

    • kCGLCPGPUFragmentProcessing

      kCGLCPGPUFragmentProcessing

      CPU в настоящее время обрабатывает фрагменты с GPU. Можно получить это состояние.

      Доступный в OS X v10.4 и позже.

    • kCGLCPHasDrawable

      kCGLCPHasDrawable

      Возвращает булевскую переменную, указывающую, присоединено ли drawable к контексту.

      Доступный в OS X v10.5 и позже.

    • kCGLCPMPSwapsInFlight

      kCGLCPMPSwapsInFlight

      Число кадров, которые многопоточный механизм OpenGL может обработать перед остановкой. Значение по умолчанию 1. Когда приложение вызывает, новые кадры ставятся в очередь CGLFlushDrawable. Большее число может улучшить общую производительность, но добавляет задержку между тем, когда кадр представляется и когда кадр выведен на экран. Интерактивные приложения должны оставить это значение в значении по умолчанию.

      Доступный в OS X v10.5 и позже.

    Обсуждение

    Эти константы используются функциями CGLSetParameter и CGLGetParameter.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Укажите опции, применяющиеся глобально.

    Объявление

    Swift

    typealias CGLGlobalOption = _CGLGlobalOption

    Objective C

    typedef enum _CGLGlobalOption { kCGLGOFormatCacheSize = 501, kCGLGOClearFormatCache = 502, kCGLGORetainRenderers = 503, kCGLGOResetLibrary = 504, kCGLGOUseErrorHandler = 505, kCGLGOUseBuildCache = 506, } CGLGlobalOption;

    Константы

    • kCGLGOFormatCacheSize

      kCGLGOFormatCacheSize

      Размер кэша формата пикселя, положительное целое число. После того, как приложение вызывает CGLChoosePixelFormat в последний раз это может установить размер кэша в 1 минимизировать память, используемую CGL. Если приложение намеревается использовать n различные списки атрибутов для выбора n различные форматы пикселя неоднократно, тогда приложение должно установить размер кэша в n максимизировать производительность. Размер кэша первоначально установлен в 5.

      Доступный в OS X v10.0 и позже.

    • kCGLGOClearFormatCache

      kCGLGOClearFormatCache

      Если установлено в a true значение, содержимое кэша объекта формата пикселя освобождено. Это не влияет на размер кэша для будущего хранения объектов формата пикселя. Для минимизации памяти, использованной кэшем, приложение должно также установить размер кэша в 1 через kCGLGOFormatCacheSize глобальная опция. CGLGetGlobalOption всегда отчеты a false значение для этой константы.

      Доступный в OS X v10.0 и позже.

    • kCGLGORetainRenderers

      kCGLGORetainRenderers

      Если true, CGL не разгружает сменных средств рендеринга, даже если они больше не используются. Эта константа полезна для улучшения производительности приложений, неоднократно уничтожающих и воссоздающих их единственное (или в последний раз) рендеринг контекста. Обычно, когда последний контекст, создаваемый определенным сменным средством рендеринга, уничтожается, то средство рендеринга разгружено из памяти. Если false, CGL возвращается к его нормальному режиму работы и всем средствам рендеринга, не использующимся, разгружены.

      Доступный в OS X v10.0 и позже.

    • kCGLGOResetLibrary

      kCGLGOResetLibrary

      Если установлено в a true значение, CGL сбрасывается к его начальному состоянию. Все контексты, создаваемые с CGLCreateContext уничтожаются, все сменные средства рендеринга разгружены из памяти, и глобальные опции сбрасываются к их начальным значениям. Информационные объекты средства рендеринга и объекты формата пикселя не уничтожаются. CGLGetGlobalOption всегда отчеты a false значение для этой константы.

      Осуждаемый в OS X v10.4 или позже.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.4.

    • kCGLGOUseErrorHandler

      kCGLGOUseErrorHandler

      Если true, Ошибки CGL распространены к Базовой Графике.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.7.

    • kCGLGOUseBuildCache

      kCGLGOUseBuildCache

      Если true, компилятор программы построения теней использует больше памяти для кэширования частей скомпилированных программ построения теней. Программы построения теней, совместно использующие подобный код, могут быть скомпилированы более быстро, когда это включено. Эта опция прочь по умолчанию и должна быть активирована при запуске.

      Осуждаемый в OS X v 10.6 или позже.

      Доступный в OS X v10.5 и позже.

    Обсуждение

    Эти константы используются функциями CGLGetGlobalOption и CGLSetGlobalOption.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Определите константы, указывающие аппаратные и программные средства рендеринга.

    Объявление

    Swift

    var kCGLRendererGenericFloatID: Int { get } var kCGLRendererAppleSWID: Int { get } var kCGLRendererATIRadeonX2000ID: Int { get } var kCGLRendererATIRadeonX3000ID: Int { get } var kCGLRendererGeForce8xxxID: Int { get } var kCGLRendererIntelHDID: Int { get }

    Objective C

    kCGLRendererGenericID 0x00020200 kCGLRendererGenericFloatID 0x00020400 kCGLRendererAppleSWID 0x00020600 kCGLRendererATIRage128ID 0x00021000 kCGLRendererATIRadeonID 0x00021200 kCGLRendererATIRageProID 0x00021400 kCGLRendererATIRadeon8500ID 0x00021600 kCGLRendererATIRadeon9700ID 0x00021800 kCGLRendererATIRadeonX1000ID 0x00021900 kCGLRendererATIRadeonX2000ID 0x00021A00 kCGLRendererATIRadeonX3000ID 0x00021B00 kCGLRendererGeForce2MXID 0x00022000 kCGLRendererGeForce3ID 0x00022200 kCGLRendererGeForceFXID 0x00022400 kCGLRendererGeForce8xxxID 0x00022600 kCGLRendererVTBladeXP2ID 0x00023000 kCGLRendererIntel900ID 0x00024000 kCGLRendererIntelX3100ID 0x00024200 kCGLRendererIntelHDID 0x00024300 kCGLRendererMesa3DFXID 0x00040000 kCGLRendererIDMatchingMask 0x00FE7F00

    Константы

    • kCGLRendererGenericID

      kCGLRendererGenericID

      Средство рендеринга программного обеспечения.

      Осуждаемый в OS X v10.5 или позже, и на всех основанных на Intel компьютерах Macintosh.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.5.

    • kCGLRendererGenericFloatID

      kCGLRendererGenericFloatID

      Средство рендеринга программного обеспечения с плавающей точкой.

      Доступный в OS X v10.3 и позже.

    • kCGLRendererAppleSWID

      kCGLRendererAppleSWID

      Средство рендеринга программного обеспечения Apple ID.

      Доступный в OS X v10.9 и позже.

    • kCGLRendererATIRage128ID

      kCGLRendererATIRage128ID

      Средство рендеринга ATI Rage128.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.5.

    • kCGLRendererATIRadeonID

      kCGLRendererATIRadeonID

      ATI средство рендеринга Radeon.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLRendererATIRageProID

      kCGLRendererATIRageProID

      Средство рендеринга ATI RagePro.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLRendererATIRadeon8500ID

      kCGLRendererATIRadeon8500ID

      ATI средство рендеринга Radeon 8500.

      Доступный в OS X v10.2 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLRendererATIRadeon9700ID

      kCGLRendererATIRadeon9700ID

      Указывает ATI средство рендеринга Radeon 9700.

      Доступный в OS X v10.2 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLRendererATIRadeonX1000ID

      kCGLRendererATIRadeonX1000ID

      ATI средство рендеринга Radeon X1000.

      Доступный в OS X v10.4 и позже.

      Осуждаемый в OS X v10.8.

    • kCGLRendererATIRadeonX2000ID

      kCGLRendererATIRadeonX2000ID

      ATI средство рендеринга Radeon X2000.

      Доступный в OS X v10.4 и позже.

    • kCGLRendererATIRadeonX3000ID

      kCGLRendererATIRadeonX3000ID

      ATI средство рендеринга Radeon X3000.

      Доступный в OS X v10.6 и позже.

    • kCGLRendererGeForce2MXID

      kCGLRendererGeForce2MXID

      NVIDIA GeForce2MX или средство рендеринга GeForce4MX.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLRendererGeForce3ID

      kCGLRendererGeForce3ID

      NVIDIA GeForce3 или средство рендеринга GeForce4.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLRendererGeForceFXID

      kCGLRendererGeForceFXID

      NVIDIA GeForceFX, GeForce 6xxx или средство рендеринга GeForce 7xxx.

      Доступный в OS X v10.2 и позже.

      Осуждаемый в OS X v10.8.

    • kCGLRendererGeForce8xxxID

      kCGLRendererGeForce8xxxID

      NVIDIA GeForce 8xxx и 9xxx средства рендеринга.

      Доступный в OS X v10.4 и позже.

    • kCGLRendererVTBladeXP2ID

      kCGLRendererVTBladeXP2ID

      Средство рендеринга VTBook.

      Доступный в OS X v10.3 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLRendererIntel900ID

      kCGLRendererIntel900ID

      Средство рендеринга Intel GMA 900.

      Доступный в OS X v10.4 и позже.

      Осуждаемый в OS X v10.8.

    • kCGLRendererIntelX3100ID

      kCGLRendererIntelX3100ID

      Средство рендеринга Intel GMA X3100.

      Доступный в OS X v10.5 и позже.

      Осуждаемый в OS X v10.8.

    • kCGLRendererIntelHDID

      kCGLRendererIntelHDID

      Средство рендеринга Intel HD Graphics.

      Доступный в OS X v10.6 и позже.

    • kCGLRendererMesa3DFXID

      kCGLRendererMesa3DFXID

      Мезаструктура 3DFX средство рендеринга.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLRendererIDMatchingMask

      kCGLRendererIDMatchingMask

      Средство рендеринга IDs возвратилось из CGLDescribePixelFormat должен быть объединен с этой маской с помощью операции И перед стать по сравнению с любым средством рендеринга IDs, найденный в этом разделе. Биты, которые являются вне этой маски, резервируются для использования Apple.

  • Определяет константы, указывающие функциональность, предоставленную средством рендеринга.

    Объявление

    Swift

    typealias CGLOpenGLProfile = _CGLOpenGLProfile

    Objective C

    typedef enum _CGLOpenGLProfile { kCGLOGLPVersion_Legacy = 0x1000, kCGLOGLPVersion_3_2_Core = 0x3200, } CGLOpenGLProfile;

    Константы

    • kCGLOGLPVersion_Legacy

      kCGLOGLPVersion_Legacy

      Требуемый профиль является наследством (предварительный OpenGL 3.0) профиль.

      Доступный в OS X v10.7 и позже.

    • kCGLOGLPVersion_3_2_Core

      kCGLOGLPVersion_3_2_Core

      Требуемый профиль должен реализовать базовую функциональность OpenGL 3.2.

      Доступный в OS X v10.7 и позже.

    Обсуждение

    Профиль OpenGL требуют как часть строки атрибутов формата пикселя. Когда контекст создается для профиля, контекст должен, по крайней мере, реализовать запрашиваемую версию спецификации OpenGL. Контекст может реализовать различную версию спецификации OpenGL пока версия, которую это реализует, совместимо с запрашиваемой версией.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.7 и позже.

  • Укажите свойства средства рендеринга.

    Объявление

    Swift

    typealias CGLRendererProperty = _CGLRendererProperty

    Objective C

    typedef enum _CGLRendererProperty { kCGLRPOffScreen = 53, kCGLRPFullScreen = 54, kCGLRPRendererID = 70, kCGLRPAccelerated = 73, kCGLRPRobust = 75, kCGLRPBackingStore = 76, kCGLRPMPSafe = 78, kCGLRPWindow = 80, kCGLRPMultiScreen = 81, kCGLRPCompliant = 83, kCGLRPDisplayMask = 84, kCGLRPBufferModes = 100, kCGLRPColorModes = 103, kCGLRPAccumModes = 104, kCGLRPDepthModes = 105, kCGLRPStencilModes = 106, kCGLRPMaxAuxBuffers = 107, kCGLRPMaxSampleBuffers = 108, kCGLRPMaxSamples = 109, kCGLRPSampleModes = 110, kCGLRPSampleAlpha = 111, kCGLRPVideoMemory = 120, kCGLRPTextureMemory = 121, kCGLRPGPUVertProcCapable = 122, kCGLRPGPUFragProcCapable = 123, kCGLRPRendererCount = 128, kCGLRPOnline = 129, kCGLRPAcceleratedCompute = 130, kCGLRPVideoMemoryMegabytes = 131, kCGLRPTextureMemoryMegabytes = 132, } CGLRendererProperty;

    Константы

    • kCGLRPOffScreen

      kCGLRPOffScreen

      Эта константа является булевым атрибутом. Если true, средство рендеринга поддерживает внеэкранные drawable объекты.

      Доступный в OS X v10.0 и позже.

    • kCGLRPFullScreen

      kCGLRPFullScreen

      Эта константа является булевым атрибутом. Если true, средство рендеринга поддерживает полный экран drawable объекты.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.6.

    • kCGLRPRendererID

      kCGLRPRendererID

      Присваиваемое значение является средством рендеринга ID. Средство рендеринга константы ID связано с определенными поставщиками оборудования. Посмотрите Средство рендеринга IDs.

      Доступный в OS X v10.0 и позже.

    • kCGLRPAccelerated

      kCGLRPAccelerated

      Эта константа является булевым атрибутом. Если true, средство рендеринга аппаратно ускорено.

      Доступный в OS X v10.0 и позже.

    • kCGLRPRobust

      kCGLRPRobust

      Эта константа является булевым атрибутом. Если true, средство рендеринга не имеет никаких видов отказа вызванными отсутствием ресурсов видеокарты.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.5.

    • kCGLRPBackingStore

      kCGLRPBackingStore

      Эта константа является булевым атрибутом. Если true, средство рендеринга может обеспечить, задний цвет буферизуют полный размер drawable объекта и может гарантировать заднее содержимое буфера, чтобы быть допустимым после вызова к CGLFlushDrawable.

      Доступный в OS X v10.0 и позже.

    • kCGLRPMPSafe

      kCGLRPMPSafe

      Эта константа является булевым атрибутом. Если true, средство рендеринга ориентировано на многопотоковое исполнение. Все средства рендеринга ориентированы на многопотоковое исполнение в OS X.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.5.

    • kCGLRPWindow

      kCGLRPWindow

      Эта константа является булевым атрибутом. Если true, средство рендеринга поддерживает окно drawable объекты.

      Доступный в OS X v10.0 и позже.

    • kCGLRPMultiScreen

      kCGLRPMultiScreen

      Эта константа является булевым атрибутом. Если true, средство рендеринга в настоящее время присоединено к многократным дисплеям.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.5.

    • kCGLRPCompliant

      kCGLRPCompliant

      Эта константа является булевым атрибутом. Если true, средством рендеринга является совместимый OpenGL. Всеми средствами рендеринга является OpenGL, совместимый в OS X.

      Доступный в OS X v10.0 и позже.

    • kCGLRPDisplayMask

      kCGLRPDisplayMask

      Присваиваемое значение является небольшим количеством маски физических дисплеев, которыми может управлять средство рендеринга. Битовой маской управляет Quartz Display Services. A CGDirectDisplayID тип данных должен быть преобразован в маску дисплея OpenGL с помощью функции CGDisplayIDToOpenGLDisplayMask. Для получения дополнительной информации об этой функции посмотрите Ссылку Quartz Display Services.

      Доступный в OS X v10.0 и позже.

    • kCGLRPBufferModes

      kCGLRPBufferModes

      Присваиваемое значение является поразрядным OR из буферных флагов режима, поддерживаемых средством рендеринга. Значение может быть любой из констант, определенных в Буферных Флагах Режима.

      Доступный в OS X v10.0 и позже.

    • kCGLRPColorModes

      kCGLRPColorModes

      Присваиваемое значение является поразрядным OR из флагов цветного формата, поддерживаемых средством рендеринга. Значение может быть любой из констант, определенных в цвете и Флаги Формата Буфера накопления.

      Доступный в OS X v10.0 и позже.

    • kCGLRPAccumModes

      kCGLRPAccumModes

      Присваиваемое значение является поразрядным OR из цвета/буфера накопления форматируют флаги, поддерживаемые средством рендеринга. Значение может быть любой из констант, определенных в цвете и Флаги Формата Буфера накопления.

      Доступный в OS X v10.0 и позже.

    • kCGLRPDepthModes

      kCGLRPDepthModes

      Присваиваемое значение является поразрядным OR из флагов глубины глубины/буфера шаблонов, поддерживаемых средством рендеринга. Значение может быть любой из констант, определенных в Режимах Шаблона и Глубины.

      Доступный в OS X v10.0 и позже.

    • kCGLRPStencilModes

      kCGLRPStencilModes

      Присваиваемое значение является поразрядным OR из флагов глубины глубины/буфера шаблонов, поддерживаемых средством рендеринга. Значение может быть любой из констант, определенных в Режимах Шаблона и Глубины.

      Доступный в OS X v10.0 и позже.

    • kCGLRPMaxAuxBuffers

      kCGLRPMaxAuxBuffers

      Присваиваемое значение является максимальным количеством вспомогательных буферов, поддерживаемых средством рендеринга.

      Доступный в OS X v10.0 и позже.

    • kCGLRPMaxSampleBuffers

      kCGLRPMaxSampleBuffers

      Присваиваемое значение является максимальным количеством независимых демонстрационных буферов, поддерживаемых средством рендеринга. Как правило, значение 0 если никакой мультидемонстрационный буфер не существует, или 1 если Вы существуете.

      Доступный в OS X v10.2 и позже.

    • kCGLRPMaxSamples

      kCGLRPMaxSamples

      Присваиваемое значение является максимальным количеством выборок на пиксель, который поддерживает средство рендеринга.

      Доступный в OS X v10.2 и позже.

    • kCGLRPSampleModes

      kCGLRPSampleModes

      Немного поля поддерживаемых демонстрационных режимов.

      Доступный в OS X v10.3 и позже.

    • kCGLRPSampleAlpha

      kCGLRPSampleAlpha

      Если true, существует поддержка альфа-выборки.

      Доступный в OS X v10.3 и позже.

    • kCGLRPVideoMemory

      kCGLRPVideoMemory

      Присваиваемое значение является числом байтов видеопамяти, доступной средству рендеринга.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.7.

    • kCGLRPTextureMemory

      kCGLRPTextureMemory

      Присваиваемое значение является числом байтов памяти текстуры, доступной средству рендеринга.

      Доступный в OS X v10.0 и позже.

      Осуждаемый в OS X v10.7.

    • kCGLRPGPUVertProcCapable

      kCGLRPGPUVertProcCapable

      Эта константа является булевым атрибутом. Если true, средство рендеринга способно к выполнению программ вершинного шейдера.

      Доступный в OS X v10.4 и позже.

    • kCGLRPGPUFragProcCapable

      kCGLRPGPUFragProcCapable

      Эта константа является булевым атрибутом. Если true, средство рендеринга способно к рабочим программам программы построения теней фрагмента.

      Доступный в OS X v10.4 и позже.

    • kCGLRPRendererCount

      kCGLRPRendererCount

      Присваиваемое значение является числом средств рендеринга в определенном информационном объекте средства рендеринга. Для определения числа средств рендеринга в информационном объекте средства рендеринга вызовите функцию CGLDescribeRenderer, передавая в объекте, числе средства рендеринга 0, и это свойство средства рендеринга.

      Доступный в OS X v10.0 и позже.

    • kCGLRPOnline

      kCGLRPOnline

      Эта константа является булевым атрибутом. Если true, средство рендеринга в настоящее время присоединено к дисплею.

      Доступный в OS X v10.5 и позже.

    • kCGLRPAcceleratedCompute

      kCGLRPAcceleratedCompute

      Эта константа является булевым атрибутом. Если true, устройство способно к выполнению программ OpenCL.

      Доступный в OS X v10.6 и позже.

    • kCGLRPVideoMemoryMegabytes

      kCGLRPVideoMemoryMegabytes

      Присваиваемое значение является числом мегабайтов видеопамяти, доступной средству рендеринга.

      Доступный в OS X v10.7 и позже.

    • kCGLRPTextureMemoryMegabytes

      kCGLRPTextureMemoryMegabytes

      Присваиваемое значение является числом мегабайтов памяти текстуры, доступной средству рендеринга.

      Доступный в OS X v10.7 и позже.

    Обсуждение

    Эти константы используются функциональным CGLDescribeRenderer.

    Оператор импорта

    Objective C

    @import OpenGL;

    Swift

    import OpenGL

    Доступность

    Доступный в OS X v10.0 и позже.

  • Определите режимы, используемые для полного сглаживания сцены.

    Объявление

    Objective C

    #define kCGLSupersampleBit x00000001 #define kCGLMultisampleBit x00000002

    Константы

    • kCGLSupersampleBit

      kCGLSupersampleBit

      Режим Supersampling.

    • kCGLMultisampleBit

      kCGLMultisampleBit

      Режим Multisampling.

  • Определите разрешения для буферов глубины и буферов шаблонов.

    Объявление

    Objective C

    #define kCGL0Bit 0x00000001 #define kCGL1Bit 0x00000002 #define kCGL2Bit 0x00000004 #define kCGL3Bit 0x00000008 #define kCGL4Bit 0x00000010 #define kCGL5Bit 0x00000020 #define kCGL6Bit 0x00000040 #define kCGL8Bit 0x00000080 #define kCGL10Bit 0x00000100 #define kCGL12Bit 0x00000200 #define kCGL16Bit 0x00000400 #define kCGL24Bit 0x00000800 #define kCGL32Bit 0x00001000 #define kCGL48Bit 0x00002000 #define kCGL64Bit 0x00004000 #define kCGL96Bit 0x00008000 #define kCGL128Bit 0x00010000

    Константы

    • kCGL0Bit

      kCGL0Bit

      0-разрядное разрешение.

    • kCGL1Bit

      kCGL1Bit

      1-разрядное разрешение.

    • kCGL2Bit

      kCGL2Bit

      2-разрядное разрешение.

    • kCGL3Bit

      kCGL3Bit

      3-разрядное разрешение.

    • kCGL4Bit

      kCGL4Bit

      4-разрядное разрешение.

    • kCGL5Bit

      kCGL5Bit

      5-разрядное разрешение.

    • kCGL6Bit

      kCGL6Bit

      6-разрядное разрешение.

    • kCGL8Bit

      kCGL8Bit

      8-разрядное разрешение.

    • kCGL10Bit

      kCGL10Bit

      10-разрядное разрешение.

    • kCGL12Bit

      kCGL12Bit

      12-разрядное разрешение.

    • kCGL16Bit

      kCGL16Bit

      16-разрядное разрешение.

    • kCGL24Bit

      kCGL24Bit

      24-разрядное разрешение.

    • kCGL32Bit

      kCGL32Bit

      32-разрядное разрешение.

    • kCGL48Bit

      kCGL48Bit

      48-разрядное разрешение.

    • kCGL64Bit

      kCGL64Bit

      64-разрядное разрешение.

    • kCGL96Bit

      kCGL96Bit

      96-разрядное разрешение.

    • kCGL128Bit

      kCGL128Bit

      128-разрядное разрешение.

Коды результата

Следующие кодовые константы результата, объявленные в CGLTypes.h заголовочный файл, может использоваться в качестве параметров к функции CGLErrorString.

  • Никакая ошибка.

    Значение

    0

    Описание

    Никакая ошибка.

    Доступный в OS X v10.3 и позже.

  • Недопустимый атрибут формата пикселя. Допустимые атрибуты могут быть найдены в Атрибутах Буфера и Средства рендеринга.

    Значение

    10000

    Описание

    Недопустимый атрибут формата пикселя. Допустимые атрибуты могут быть найдены в Атрибутах Буфера и Средства рендеринга.

    Доступный в OS X v10.0 и позже.

  • Недопустимое свойство средства рендеринга. Допустимые свойства средства рендеринга могут быть найдены в Свойствах Средства рендеринга.

    Значение

    10001

    Описание

    Недопустимое свойство средства рендеринга. Допустимые свойства средства рендеринга могут быть найдены в Свойствах Средства рендеринга.

    Доступный в OS X v10.0 и позже.

  • Недопустимый объект формата пикселя. Допустимый объект формата пикселя может быть получен путем вызывания функции CGLChoosePixelFormat.

    Значение

    10002

    Описание

    Недопустимый объект формата пикселя. Допустимый объект формата пикселя может быть получен путем вызывания функции CGLChoosePixelFormat.

    Доступный в OS X v10.0 и позже.

  • Недопустимый информационный объект средства рендеринга. Допустимый информационный объект средства рендеринга может быть получен путем вызывания функции CGLQueryRendererInfo.

    Значение

    10003

    Описание

    Недопустимый информационный объект средства рендеринга. Допустимый информационный объект средства рендеринга может быть получен путем вызывания функции CGLQueryRendererInfo.

    Доступный в OS X v10.0 и позже.

  • Недопустимый объект контекста. Допустимый объект контекста может быть получен путем вызывания функции CGLCreateContext.

    Значение

    10004

    Описание

    Недопустимый объект контекста. Допустимый объект контекста может быть получен путем вызывания функции CGLCreateContext.

    Доступный в OS X v10.0 и позже.

  • Значение

    10005

    Описание

    Недопустимый drawable объект. Когда Вы пытаетесь присоединить второй, несовместимый, представляющий контекст к drawable объекту, эта ошибка происходит. Для получения дополнительной информации о несовместимых контекстах, посмотрите раздел обсуждения функции CGLCreateContext. Эта ошибка также происходит, когда Вы пытаетесь присоединить контекст к полноэкранному drawable объекту, и глубина цвета drawable объекта отличается, чем указанный объектом формата пикселя, используемым для создания контекста. kCGLPFAColorSize атрибут, описанный в Атрибутах Буфера и Средства рендеринга, указывает глубину цвета формата пикселя.

    Доступный в OS X v10.0 и позже.

  • Недопустимый дисплей.

    Значение

    10006

    Описание

    Недопустимый дисплей.

    Доступный в OS X v10.0 и позже.

  • Значение

    10007

    Описание

    Недопустимое состояние контекста. Когда состояние контекста проверено для готовности переключить средства рендеринга, эта ошибка происходит. Чтобы быть в допустимом состоянии, контекст быть в режиме рендеринга и иметь атрибут складывает глубину 0, и modelview, проекция и текстура складывают глубину 1. Для получения дополнительной информации о проверке состояния, посмотрите, что контекст включает постоянный kCGLCEStateValidation, описанный в Опциях Контекста.

    Доступный в OS X v10.0 и позже.

  • Недопустимое численное значение.

    Значение

    10008

    Описание

    Недопустимое численное значение.

    Доступный в OS X v10.0 и позже.

  • Значение

    10009

    Описание

    Недопустимый контекст доли. Если их объекты формата пикселя используют различные средства рендеринга, два контекста являются плохим соответствием.

    Доступный в OS X v10.0 и позже.

  • Недопустимая константа.

    Значение

    10010

    Описание

    Недопустимая константа.

    Доступный в OS X v10.0 и позже.

  • Недопустимый внеэкранный drawable объект.

    Значение

    10011

    Описание

    Недопустимый внеэкранный drawable объект.

    Доступный в OS X v10.0 и позже.

  • Недопустимый полноэкранный drawable объект.

    Значение

    10012

    Описание

    Недопустимый полноэкранный drawable объект.

    Доступный в OS X v10.0 и позже.

  • Недопустимое окно.

    Значение

    10013

    Описание

    Недопустимое окно.

    Доступный в OS X v10.0 и позже.

  • Недопустимый адрес памяти. Эта ошибка происходит при передаче недопустимого указателя в функцию, требующую адреса памяти кроме NULL.

    Значение

    10014

    Описание

    Недопустимый адрес памяти. Эта ошибка происходит при передаче недопустимого указателя в функцию, требующую адреса памяти кроме NULL.

    Доступный в OS X v10.0 и позже.

  • Недопустимый модуль кода.

    Значение

    10015

    Описание

    Недопустимый модуль кода.

    Доступный в OS X v10.0 и позже.

  • Недопустимое выделение памяти. Когда CGL неспособен выделить память, эта ошибка происходит.

    Значение

    10016

    Описание

    Недопустимое выделение памяти. Когда CGL неспособен выделить память, эта ошибка происходит.

    Доступный в OS X v10.0 и позже.

  • Неправильное соединение к Базовой Графике.

    Значение

    10017

    Описание

    Неправильное соединение к Базовой Графике.

    Доступный в OS X v10.0 и позже.