Ссылка CVOpenGLBufferPool
Пул буферов OpenGL является вспомогательным объектом для управления рядом буферных объектов OpenGL для повторного использования. Пулы буферов OpenGL выделяют много буферов в видеопамяти, которая может быть снова использована по мере необходимости, избежав повторенных выделений и освобождения, повреждающего производительность.
-
Создает новый пул буферов OpenGL.
Объявление
Swift
func CVOpenGLBufferPoolCreate(_allocator: CFAllocator!, _poolAttributes: CFDictionary!, _openGLBufferAttributes: CFDictionary!, _poolOut: UnsafeMutablePointer<Unmanaged<CVOpenGLBufferPool>?>) -> CVReturnObjective C
CVReturn CVOpenGLBufferPoolCreate ( CFAllocatorRef allocator, CFDictionaryRef poolAttributes, CFDictionaryRef openGLBufferAttributes, CVOpenGLBufferPoolRef *poolOut );Параметры
allocatorСредство выделения для использования для выделения этого пула буферов. Передача
NULLуказать средство выделения по умолчанию.poolAttributesБазовый словарь Основы, содержащий атрибуты, которые будут использоваться для самого пула.
openGLBufferAttributesБазовый словарь Основы, содержащий атрибуты, которые будут использоваться для создания нового OpenGL, буферизует в пуле.
poolOutНа выводе,
poolOutточки к новому пулу буферов OpenGL.Возвращаемое значение
Базовое Видео заканчивается код. Ссылка Констант Видео SeeCore для возможных значений.
Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Создает новый буфер OpenGL из пула буферов OpenGL.
Объявление
Swift
func CVOpenGLBufferPoolCreateOpenGLBuffer(_allocator: CFAllocator!, _openGLBufferPool: CVOpenGLBufferPool!, _openGLBufferOut: UnsafeMutablePointer<Unmanaged<CVOpenGLBuffer>?>) -> CVReturnObjective C
CVReturn CVOpenGLBufferPoolCreateOpenGLBuffer ( CFAllocatorRef allocator, CVOpenGLBufferPoolRef openGLBufferPool, CVOpenGLBufferRef *openGLBufferOut );Параметры
allocatorСредство выделения для использования для создания буфера. Может быть
NULLуказать средство выделения по умолчанию.openGLBufferPoolПул буферов OpenGL, который должен создать новый буфер OpenGL.
openGLBufferOutНа выводе,
OpenGLBufferOutточки к новому буферу OpenGL.Возвращаемое значение
Базовое Видео заканчивается код. Посмотрите Базовую Видео Ссылку Констант для возможных значений.
Обсуждение
Функция создает новый буфер OpenGL использование буферных атрибутов OpenGL, указанных в
CVOpenGLBufferPoolCreateвызвать. Этот буфер имеет присоединения по умолчанию, как указано вopenGLBufferAttributesпараметрCVOpenGLBufferPoolCreate(использующий любогоkCVBufferPropagatedAttachmentsKeyилиkCVBufferNonPropagatedAttachmentsKeyатрибуты).Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Возвращается пул приписывает словарь для Открыть пула буферов GL.
Объявление
Swift
func CVOpenGLBufferPoolGetAttributes(_pool: CVOpenGLBufferPool!) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef CVOpenGLBufferPoolGetAttributes ( CVOpenGLBufferPoolRef pool );Параметры
poolПул буферов OpenGL, содержащий атрибуты, которые будут получены.
Возвращаемое значение
Пул буферов приписывает Базовый словарь Основы, или
NULLпри отказе.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Возвращает атрибуты буферов OpenGL, которые будут создаваться из пула буферов.
Объявление
Swift
func CVOpenGLBufferPoolGetOpenGLBufferAttributes(_pool: CVOpenGLBufferPool!) -> Unmanaged<CFDictionary>!Objective C
CFDictionaryRef CVOpenGLBufferPoolGetOpenGLBufferAttributes ( CVOpenGLBufferPoolRef pool );Параметры
poolПул буферов OpenGL, содержащий атрибуты, которые будут получены.
Возвращаемое значение
Буфер OpenGL приписывает Базовый словарь Основы, или
NULLпри отказе.Обсуждение
Можно использовать эту функцию для получения информации о буферах OpenGL, которые будут создаваться из пула буферов.
Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Получает Базовую Основу ID для типа пула буферов OpenGL.
Объявление
Swift
func CVOpenGLBufferPoolGetTypeID() -> CFTypeIDObjective C
CFTypeID CVOpenGLBufferPoolGetTypeID ( void );Возвращаемое значение
Базовая Основа ID для этого типа данных.
Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.4 и позже.
-
Выпускает пул буферов OpenGL.
Объявление
Objective C
void CVOpenGLBufferPoolRelease ( CVOpenGLBufferPoolRef openGLBufferPool );Параметры
openGLBufferPoolПул буферов OpenGL, который Вы хотите выпустить.
Обсуждение
Эта функция эквивалентна
CFRelease, ноNULLбезопасный.Оператор импорта
Objective C
@import CoreVideo;Доступность
Доступный в OS X v10.4 и позже.
-
Сохраняет пул буферов OpenGL.
Объявление
Objective C
CVOpenGLBufferPoolRef CVOpenGLBufferPoolRetain ( CVOpenGLBufferPoolRef openGLBufferPool );Параметры
openGLBufferPoolПул буферов OpenGL, который Вы хотите сохранить.
Возвращаемое значение
Для удобства тот же пул буферов возражает, что Вы хотели сохранить.
Обсуждение
Эта функция эквивалентна
CFRetain, ноNULLбезопасный.Оператор импорта
Objective C
@import CoreVideo;Доступность
Доступный в OS X v10.4 и позже.
-
Ссылка на объект пула буферов OpenGL.
Объявление
Swift
typealias CVOpenGLBufferPoolRef = CVOpenGLBufferPoolObjective C
typedef struct _CVOpenGLBufferPool *CVOpenGLBufferPoolRef;Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в OS X v10.3 и позже.
-
Атрибуты связались с пулом буферов OpenGL.
Объявление
Swift
let kCVOpenGLBufferPoolMinimumBufferCountKey: CFString! let kCVOpenGLBufferPoolMaximumBufferAgeKey: CFString!Objective C
const CFStringRef kCVOpenGLBufferPoolMinimumBufferCountKey; const CFStringRef kCVOpenGLBufferPoolMaximumBufferAgeKey;Константы
-
kCVOpenGLBufferPoolMinimumBufferCountKeykCVOpenGLBufferPoolMinimumBufferCountKeyМинимальное число буферов, которые будут сохранены в пуле (тип
CFNumber).Доступный в OS X v10.4 и позже.
-
kCVOpenGLBufferPoolMaximumBufferAgeKeykCVOpenGLBufferPoolMaximumBufferAgeKeyМаксимальное время, когда неиспользованные буферы должны быть сохранены, прежде чем они будут освобождены (тип
CFAbsoluteTime).Доступный в OS X v10.4 и позже.
Обсуждение
Вы указываете эти ключи в Базовом словаре Основы при вызывании функций такой как
CVOpenGLBufferPoolCreate. -
