Ссылка CGL
CGL (Ядро OpenGL) является интерфейсом программирования самого низкого уровня для реализации Apple OpenGL. CGL поддерживает полноэкранное получение OpenGL и рисование к пиксельным буферам, которые являются аппаратно ускоренным внеэкранным расположением получения. Любое приложение Какао или Углерода может использовать CGL для получения наиболее прямого доступа к функциональности системы. Классы Какао, поддерживающие OpenGL и AGL API, каждый создаются поверх CGL.
-
Создает объект формата пикселя, удовлетворяющий ограничения указанного буфера и атрибутов средства рендеринга.
Объявление
Swift
func CGLChoosePixelFormat(_
attribs
: UnsafePointer<CGLPixelFormatAttribute>, _pix
: UnsafeMutablePointer<CGLPixelFormatObj>, _npix
: UnsafeMutablePointer<GLint>) -> CGLErrorObjective C
CGLError CGLChoosePixelFormat ( const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, GLint *npix );
Параметры
attribs
A
0
завершенный массив, содержащий список атрибутов средства рендеринга и буфера. Атрибуты могут быть булевской переменной или целым числом. Если атрибут является целым числом, необходимо сразу предоставить требуемое значение после атрибута. Если атрибут является булевской переменной, не предоставляйте значение, потому что его присутствие в массиве атрибутов подразумевает atrue
значение. Для получения информации об атрибутах, которые можно предоставить, посмотрите Атрибуты Буфера и Средства рендеринга и Обсуждение ниже.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>) -> CGLErrorObjective 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 и позже.
См. также
-
Получает текущий формат пикселя, связанный с CGL рендеринг контекста.
Объявление
Swift
func CGLGetPixelFormat(_
ctx
: CGLContextObj) -> CGLPixelFormatObjObjective 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) -> CGLPixelFormatObjObjective 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) -> GLuintObjective C
GLuint CGLGetPixelFormatRetainCount ( CGLPixelFormatObj pix );
Параметры
pix
Объект формата пикселя.
Возвращаемое значение
Сохранить количество объекта формата пикселя.
Обсуждение
Можно использовать эту функцию для контроля сохранить количества объекта формата пикселя.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.5 и позже.
-
Освобождает память, связанную с объектом формата пикселя.
Объявление
Swift
func CGLDestroyPixelFormat(_
pix
: CGLPixelFormatObj) -> CGLErrorObjective 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>) -> CGLErrorObjective 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 и позже.
См. также
-
CGLCopyContext CGLCopyContext
(OS X v10.8)Копирует указанные переменные состояния от одного контекста рендеринга до другого.
Объявление
Objective C
CGLError CGLCopyContext ( CGLContextObj src, CGLContextObj dst, GLbitfield mask );
Параметры
src
Исходный контекст рендеринга.
dst
Место назначения, представляющее контекст.
mask
Маска, указывающая переменные состояния для копирования. Передайте немного поля, содержащего поразрядное
OR
из имен переменной состояния, которые Вы хотите скопировать. Используйте символьные константы маски, передающиеся функции OpenGLglPushAttrib
. Для копирования как можно большего количества переменных состояния предоставьте константу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) -> CGLContextObjObjective 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) -> GLuintObjective C
GLuint CGLGetContextRetainCount ( CGLContextObj ctx );
Параметры
ctx
Рендеринг CGL контекста, чей сохраняют количество, которое Вы хотите обнаружить.
Возвращаемое значение
Сохранить количество CGL рендеринг контекста.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.5 и позже.
См. также
-
Освобождает ресурсы, связанные с контекстом рендеринга.
Объявление
Swift
func CGLDestroyContext(_
ctx
: CGLContextObj) -> CGLErrorObjective 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 и позже.
См. также
-
Возвращает текущий контекст рендеринга.
Объявление
Swift
func CGLGetCurrentContext() -> CGLContextObj
Objective C
CGLContextObj CGLGetCurrentContext ( void );
Возвращаемое значение
Текущий контекст рендеринга. Если нет ни одного, возвратов
NULL
.Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает указанный контекст рендеринга как текущий контекст рендеринга.
Объявление
Swift
func CGLSetCurrentContext(_
ctx
: CGLContextObj) -> CGLErrorObjective C
CGLError CGLSetCurrentContext ( CGLContextObj ctx );
Параметры
ctx
Контекст рендеринга для установки как текущий контекст рендеринга. Передача
NULL
выпускать текущий контекст рендеринга, не присваивая новый.Возвращаемое значение
Код результата. См. Коды Результата CGL. Если функция перестала работать, текущий контекст остается неизменным.
Обсуждение
Может быть только один текущий контекст рендеринга. Последующие вызовы рендеринга OpenGL воздействуют на текущий контекст рендеринга для изменения drawable объекта, связанного с ним.
Можно использовать макросы AGL, чтобы обойти текущий механизм контекста рендеринга и поддержать собственный текущий контекст рендеринга.
Контекст является текущим на основе на поток. Многократные потоки должны сериализировать вызовы в тот же контекст.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Включает опцию для контекста рендеринга.
Объявление
Swift
func CGLEnable(_
ctx
: CGLContextObj, _pname
: CGLContextEnable) -> CGLErrorObjective C
CGLError CGLEnable ( CGLContextObj ctx, CGLContextEnable pname );
Параметры
ctx
Контекст рендеринга.
pname
Опция включить. Для списка возможных вариантов посмотрите Опции Контекста.
Возвращаемое значение
Код результата. См. Коды Результата CGL.
Обсуждение
Некоторые опции контекста имеют значения, связанные с ними. Использовать
CGLSetParameter
иCGLGetParameter
установить и получить значения параметров контекста.Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Отключает опцию для контекста рендеринга.
Объявление
Swift
func CGLDisable(_
ctx
: CGLContextObj, _pname
: CGLContextEnable) -> CGLErrorObjective C
CGLError CGLDisable ( CGLContextObj ctx, CGLContextEnable pname );
Параметры
ctx
Контекст рендеринга.
pname
Опция отключить. Для списка возможных вариантов посмотрите Опции Контекста.
Возвращаемое значение
Код результата. См. Коды Результата CGL.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Отчеты, включена ли опция для контекста рендеринга.
Объявление
Swift
func CGLIsEnabled(_
ctx
: CGLContextObj, _pname
: CGLContextEnable, _enable
: UnsafeMutablePointer<GLint>) -> CGLErrorObjective 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 и позже.
См. также
-
Устанавливает значение параметра контекста рендеринга.
Объявление
Swift
func CGLSetParameter(_
ctx
: CGLContextObj, _pname
: CGLContextParameter, _params
: UnsafePointer<GLint>) -> CGLErrorObjective 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 и позже.
См. также
-
Получает значение параметра контекста рендеринга.
Объявление
Swift
func CGLGetParameter(_
ctx
: CGLContextObj, _pname
: CGLContextParameter, _params
: UnsafeMutablePointer<GLint>) -> CGLErrorObjective 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 и позже.
См. также
-
Блокирует CGL рендеринг контекста.
Объявление
Swift
func CGLLockContext(_
ctx
: CGLContextObj) -> CGLErrorObjective 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 и позже.
См. также
-
Разблокировал CGL рендеринг контекста.
Объявление
Swift
func CGLUnlockContext(_
ctx
: CGLContextObj) -> CGLErrorObjective C
CGLError CGLUnlockContext ( CGLContextObj ctx );
Параметры
ctx
Контекст CGL для разблокирования.
Возвращаемое значение
Код результата. См. Коды Результата CGL.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
CGLSetOffScreen CGLSetOffScreen
(OS X v10.7)Присоединяет контекст рендеринга к внеэкранному буферу.
Объявление
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 CGLGetOffScreen
(OS X v10.7)Получает внеэкранный буфер и его параметры для указанного контекста рендеринга.
Объявление
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.
См. также
-
CGLSetFullScreen CGLSetFullScreen
(OS X v10.6)Присоединяет контекст рендеринга к его полноэкранному 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.
-
CGLSetFullScreenOnDisplay CGLSetFullScreenOnDisplay
(OS X v10.7)Присоединяет контекст рендеринга к полноэкранному 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) -> CGLErrorObjective C
CGLError CGLClearDrawable ( CGLContextObj ctx );
Параметры
ctx
Контекст рендеринга.
Возвращаемое значение
Код результата. См. Коды Результата CGL.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Копирует задний буфер контекста с двойной буферизацией к переднему буферу.
Объявление
Swift
func CGLFlushDrawable(_
ctx
: CGLContextObj) -> CGLErrorObjective 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 и позже.
-
CGLCreatePBuffer CGLCreatePBuffer
(OS X v10.7)Создает пиксельный буфер указанного размера, совместимого с указанной целью текстуры.
Объявление
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
значение обеспечило или amax_level
значение, больше, чем максимальные возможные уровни множественного отображения для данной ширины и высоты, обеспечило.A
max_level
значение, больше, чем0
используемый с aGL_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.
См. также
-
CGLDescribePBuffer CGLDescribePBuffer
(OS X v10.7)Получает информацию, описывающую указанный пиксельный буферный объект.
Объявление
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.
См. также
-
CGLRetainPBuffer CGLRetainPBuffer
(OS X v10.7)Постепенно увеличивается сохранение рассчитывают на пиксельный буферный объект.
Объявление
Objective C
CGLPBufferObj CGLRetainPBuffer ( CGLPBufferObj pbuffer );
Параметры
pbuffer
Пиксельный буфер возражает, чей сохраняют количество, которое Вы хотите постепенно увеличить.
Возвращаемое значение
Пиксельный буфер возражает, что принял вызов.
Обсуждение
Каждый вызов к
CGLRetainPBuffer
увеличения сохранить количество1
. Для препятствования пиксельному буферному объекту быть пропущенным каждый сохраняет вызов, должен быть соответствующим вызову кCGLReleasePBuffer
.Оператор импорта
Objective C
@import OpenGL;
Доступность
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.7.
-
CGLReleasePBuffer CGLReleasePBuffer
(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.
См. также
-
CGLGetPBufferRetainCount CGLGetPBufferRetainCount
(OS X v10.7)Возвраты сохранить количество пикселя буферизуют объект.
Объявление
Objective C
GLuint CGLGetPBufferRetainCount ( CGLPBufferObj pbuffer );
Параметры
pbuffer
Пиксельный буфер возражает, чей сохраняют количество, которое Вы хотите получить.
Возвращаемое значение
Сохранить количество пикселя буферизует объект.
Оператор импорта
Objective C
@import OpenGL;
Доступность
Доступный в OS X v10.5 и позже.
Осуждаемый в OS X v10.7.
См. также
-
CGLDestroyPBuffer CGLDestroyPBuffer
(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.
См. также
-
CGLGetPBuffer CGLGetPBuffer
(OS X v10.7)Получает пиксельный буфер и его параметры для указанного контекста рендеринга.
Объявление
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 CGLSetPBuffer
(OS X v10.7)Присоединяет пиксельный буферный объект к контексту рендеринга.
Объявление
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.
См. также
-
CGLTexImagePBuffer CGLTexImagePBuffer
(OS X v10.7)Связывает содержание пиксельного буфера к источнику данных для объекта текстуры.
Объявление
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) -> CGLErrorObjective C
CGLError CGLSetOption ( CGLGlobalOption pname, GLint param );
Параметры
pname
Имя опции, значение которой Вы хотите установить. Посмотрите Глобальные Опции для списка констант, которые можно передать.
param
Значение для установки опции в.
Возвращаемое значение
Код результата. См. Коды Результата CGL.
Обсуждение
Эта функция изменяет значения опций, влияющих на работу OpenGL во всех контекстах рендеринга в приложении, не только текущем контексте рендеринга.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Получает значение глобальной опции.
Использовать
CGLGetGlobalOption
вместо этого.Объявление
Swift
func CGLGetOption(_
pname
: CGLGlobalOption, _param
: UnsafeMutablePointer<GLint>) -> CGLErrorObjective C
CGLError CGLGetOption ( CGLGlobalOption pname, GLint *param );
Параметры
pname
Имя опции, значение которой Вы хотите получить. Посмотрите Глобальные Опции для списка констант, которые можно передать.
param
По возврату, указателю на значение опции.
Возвращаемое значение
Код результата. См. Коды Результата CGL.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Получает значение глобальной опции.
Объявление
Swift
func CGLGetGlobalOption(_
pname
: CGLGlobalOption, _params
: UnsafeMutablePointer<GLint>) -> CGLErrorObjective C
CGLError CGLGetGlobalOption ( CGLGlobalOption pname, GLint *params );
Параметры
pname
Имя опции, значение которой Вы хотите получить. Посмотрите Глобальные Опции для списка констант, которые можно передать.
params
По возврату, указателю на значение опции.
Возвращаемое значение
Код результата. См. Коды Результата CGL.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Устанавливает значение глобальной опции.
Объявление
Swift
func CGLSetGlobalOption(_
pname
: CGLGlobalOption, _params
: UnsafePointer<GLint>) -> CGLErrorObjective C
CGLError CGLSetGlobalOption ( CGLGlobalOption pname, const GLint *params );
Параметры
pname
Имя опции, значение которой Вы хотите установить. Посмотрите Глобальные Опции для списка констант, которые можно передать.
params
Значение для установки опции в.
Возвращаемое значение
Код результата. См. Коды Результата CGL.
Обсуждение
Эта функция изменяет значения опций, влияющих на работу OpenGL во всех контекстах рендеринга в приложении, не только текущем контексте рендеринга.
Оператор импорта
Objective C
@import OpenGL;
Swift
import OpenGL
Доступность
Доступный в OS X v10.6 и позже.
См. также
-
Получает номера основной версии и номера вспомогательной версии библиотеки 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>) -> CGLErrorObjective 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 и позже.
См. также
-
Освобождает ресурсы, связанные с информационным объектом средства рендеринга.
Объявление
Swift
func CGLDestroyRendererInfo(_
rend
: CGLRendererInfoObj) -> CGLErrorObjective 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>) -> CGLErrorObjective 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) -> CGLErrorObjective 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 и позже.
См. также
-
Получает текущее виртуальное экранное число, связанное с контекстом рендеринга.
Объявление
Swift
func CGLGetVirtualScreen(_
ctx
: CGLContextObj, _screen
: UnsafeMutablePointer<GLint>) -> CGLErrorObjective 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 и позже.
См. также
-
Представляет указатель на непрозрачный объект контекста 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
Константы
-
Укажите, что атрибуты раньше выбирали форматы пикселя и виртуальные экраны.
Объявление
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
заголовок платформы защиты Прикладных служб. ACGDirectDisplayID
должен быть преобразован в маску дисплея 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
подразумевает atrue
значение. Другие константы атрибута должны сопровождаться значением.Оператор импорта
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
всегда отчеты afalse
значение для этой константы.Доступный в OS X v10.0 и позже.
-
kCGLGORetainRenderers
kCGLGORetainRenderers
Если
true
, CGL не разгружает сменных средств рендеринга, даже если они больше не используются. Эта константа полезна для улучшения производительности приложений, неоднократно уничтожающих и воссоздающих их единственное (или в последний раз) рендеринг контекста. Обычно, когда последний контекст, создаваемый определенным сменным средством рендеринга, уничтожается, то средство рендеринга разгружено из памяти. Еслиfalse
, CGL возвращается к его нормальному режиму работы и всем средствам рендеринга, не использующимся, разгружены.Доступный в OS X v10.0 и позже.
-
kCGLGOResetLibrary
kCGLGOResetLibrary
Если установлено в a
true
значение, CGL сбрасывается к его начальному состоянию. Все контексты, создаваемые сCGLCreateContext
уничтожаются, все сменные средства рендеринга разгружены из памяти, и глобальные опции сбрасываются к их начальным значениям. Информационные объекты средства рендеринга и объекты формата пикселя не уничтожаются.CGLGetGlobalOption
всегда отчеты afalse
значение для этой константы.Осуждаемый в 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 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 и позже.