Ссылка 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() -> CFTypeID
Objective 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 = CVOpenGLBufferPool
Objective 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;
Константы
-
kCVOpenGLBufferPoolMinimumBufferCountKey
kCVOpenGLBufferPoolMinimumBufferCountKey
Минимальное число буферов, которые будут сохранены в пуле (тип
CFNumber
).Доступный в OS X v10.4 и позже.
-
kCVOpenGLBufferPoolMaximumBufferAgeKey
kCVOpenGLBufferPoolMaximumBufferAgeKey
Максимальное время, когда неиспользованные буферы должны быть сохранены, прежде чем они будут освобождены (тип
CFAbsoluteTime
).Доступный в OS X v10.4 и позже.
Обсуждение
Вы указываете эти ключи в Базовом словаре Основы при вызывании функций такой как
CVOpenGLBufferPoolCreate
. -