Ссылка CVOpenGLESTextureCache
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreVideo
Objective C
@import CoreVideo;
Базовое Видео кэши текстуры OpenGLES используется, чтобы кэшироваться и управлять CVOpenGLESTextureRef текстуры. Эти кэши текстуры предоставляют Вам способ непосредственно читать и буферы записи с различными форматами пикселя, такой как 420v или BGRA, от GLES.
Функции в этом разделе воздействуют на Базовые Видео кэши текстуры, полученные из CVOpenGLESTextureCacheRef ввести.
-
Возвращает Базовый идентификатор типа Основы для Базового Видео кэша текстуры.
Объявление
Swift
func CVOpenGLESTextureCacheGetTypeID() -> CFTypeIDObjective C
CFTypeID CVOpenGLESTextureCacheGetTypeID ( void );Возвращаемое значение
Базовый идентификатор типа Основы для
CVOpenGLESTextureCacheRefввести.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 5.0 и позже.
-
Создает новый Базовый Видео кэш текстуры.
Объявление
Swift
func CVOpenGLESTextureCacheCreate(_allocator: CFAllocator!, _cacheAttributes: CFDictionary!, _eaglContext: CVEAGLContext!, _textureAttributes: CFDictionary!, _cacheOut: UnsafeMutablePointer<Unmanaged<CVOpenGLESTextureCache>?>) -> CVReturnObjective C
CVReturn CVOpenGLESTextureCacheCreate ( CFAllocatorRef allocator, CFDictionaryRef cacheAttributes, CVEAGLContext eaglContext, CFDictionaryRef textureAttributes, CVOpenGLESTextureCacheRef *cacheOut );Параметры
allocatorCFAllocatorRefиспользовать для выделения кэша текстуры. Этот параметр может бытьNULL.cacheAttributesA
CFDictionaryRefсодержа атрибуты самого кэша текстуры. Этот параметр может бытьNULL.eaglContextКонтекст OpenGLES 2.0, в который будут создаваться объекты текстуры. Контексты OpenGLES 1.x не поддерживаются.
textureAttributesA
CFDictionaryRefсодержа атрибуты, которые будут использоваться для созданияCVOpenGLESTextureRefобъекты. Этот параметр может бытьNULL.cacheOutУказатель на a
CVOpenGLESTextureCacheRefкуда будет помещен недавно создаваемый кэш текстуры.Возвращаемое значение
После успешного создания кэша текстуры, эта функция возвраты
kCVReturnSuccess.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 5.0 и позже.
-
CVOpenGLESTextureCacheCreateTextureFromImage (_: _: _: _: _: _: _: _: _: _: _: _:) CVOpenGLESTextureCacheCreateTextureFromImageСоздает a
CVOpenGLESTextureRefобъект от существующегоCVImageBufferRef.Объявление
Swift
func CVOpenGLESTextureCacheCreateTextureFromImage(_allocator: CFAllocator!, _textureCache: CVOpenGLESTextureCache!, _sourceImage: CVImageBuffer!, _textureAttributes: CFDictionary!, _target: GLenum, _internalFormat: GLint, _width: GLsizei, _height: GLsizei, _format: GLenum, _type: GLenum, _planeIndex: Int, _textureOut: UnsafeMutablePointer<Unmanaged<CVOpenGLESTexture>?>) -> CVReturnObjective C
CVReturn CVOpenGLESTextureCacheCreateTextureFromImage ( CFAllocatorRef allocator, CVOpenGLESTextureCacheRef textureCache, CVImageBufferRef sourceImage, CFDictionaryRef textureAttributes, GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, size_t planeIndex, CVOpenGLESTextureRef *textureOut );Параметры
allocatorCFAllocatorRefиспользовать для выделения объекта текстуры. Этот параметр может бытьNULL.textureCacheОбъект кэша текстуры, который будет управлять текстурой.
sourceImageCVImageBufferRefто, что Вы хотите создать текстуру из.textureAttributesA
CFDictionaryRefсодержа атрибуты, которые будут использоваться для созданияCVOpenGLESTextureRefобъекты. Этот параметр может бытьNULL.targetЦелевая текстура.
GL_TEXTURE_2DиGL_RENDERBUFFERединственные цели, в настоящее время поддерживаемые.internalFormatЧисло компонентов цвета в текстуре. Примеры
GL_RGBA,GL_LUMINANCE,GL_RGBA8_OES,GL_RED, иGL_RG.widthШирина изображения текстуры.
heightВысота изображения текстуры.
formatФормат пиксельных данных. Примеры
GL_RGBAиGL_LUMINANCE.typeТип данных пиксельных данных. Один пример
GL_UNSIGNED_BYTE.planeIndexПлоскость
CVImageBufferRefдля отображения связывают. Проигнорированный для непланарногоCVImageBufferRefs.textureOutУказатель на a
CVOpenGLESTextureRefкуда будет помещен недавно создаваемый объект текстуры.Возвращаемое значение
После успешного создания текстуры, эта функция возвраты
kCVReturnSuccess.Обсуждение
Эта функция или создает новое или возвращает кэшируемый
CVOpenGLESTextureRefтекстурируйте объект, отображенный наCVImageBufferRefи связанные параметры. Эта работа создает живую привязку между буфером изображения и базовым объектом текстуры. EAGLContext, связанный с кэшем, может быть изменен, чтобы создать, удалить, или связать текстуры. Когда используется в качестве исходной текстуры илиGL_COLOR_ATTACHMENT, буфер изображения должен быть разблокирован перед рендерингом. Источник или буферная текстура рендеринга не должны быть снова использованы, пока рендеринг не завершился. Это может быть гарантировано путем вызоваglFlush().Некоторые отображения в качестве примера могут быть замечены в следующем фрагменте кода.
//Mapping a BGRA buffer as a source texture:CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_TEXTURE_2D, GL_RGBA, width, height, GL_RGBA, GL_UNSIGNED_BYTE, 0, &outTexture);//Mapping a BGRA buffer as a renderbuffer:CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_RENDERBUFFER, GL_RGBA8_OES, width, height, GL_RGBA, GL_UNSIGNED_BYTE, 0, &outTexture);//Mapping the luma plane of a 420v buffer as a source texture:CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_TEXTURE_2D, GL_LUMINANCE, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, 0, &outTexture);//Mapping the chroma plane of a 420v buffer as a source texture:CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_TEXTURE_2D, GL_LUMINANCE_ALPHA, width/2, height/2, GL_LUMINANCE_ALPHA, GL_UNSIGNED_BYTE, 1, &outTexture);//Mapping a yuvs buffer as a source texture (note: yuvs/f and 2vuy are unpacked and resampled -- not colorspace converted)CVOpenGLESTextureCacheCreateTextureFromImage(kCFAllocatorDefault, textureCache, pixelBuffer, NULL, GL_TEXTURE_2D, GL_RGB_422_APPLE, width, height, GL_RGB_422_APPLE, GL_UNSIGNED_SHORT_8_8_APPLE, 1, &outTexture);
Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 5.0 и позже.
-
Выполняет внутренние операции обслуживания/переработки на кэше текстуры.
Объявление
Swift
func CVOpenGLESTextureCacheFlush(_textureCache: CVOpenGLESTextureCache!, _options: CVOptionFlags)Objective C
void CVOpenGLESTextureCacheFlush ( CVOpenGLESTextureCacheRef textureCache, CVOptionFlags options );Параметры
textureCacheКэш текстуры возражает для сбрасывания.
optionsОпции для работы сброса. Этот параметр в настоящее время не использован и должен быть установлен на
0.Обсуждение
Когда Вы вызываете, кэш текстуры автоматически сбрасывает в настоящее время неиспользованные ресурсы
CVOpenGLESTextureCacheCreateTextureFromImageфункция, но может, можно также сбросить кэш явно путем вызывания этой функции. EAGLContext, связанный с кэшем, может использоваться, чтобы удалить или развязать текстуры.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 5.0 и позже.
-
Ссылка на Базовое Видео OpenGLES текстурирует кэш.
Объявление
Swift
typealias CVOpenGLESTextureCacheRef = CVOpenGLESTextureCacheObjective C
typedef struct __CVOpenGLESTextureCache *CVOpenGLESTextureCacheRef;Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 5.0 и позже.
-
Тип, решающий к
EAGLContextуказатель в надлежащих случаях.Объявление
Swift
typealias CVEAGLContext = EAGLContextObjective C
typedef EAGLContext *CVEAGLContext;Обсуждение
Базовое Видео может быть включено в процедурные проекты C, а также проекты Objective C, таким образом, этот тип разрешает
void *при использовании прежнего.Оператор импорта
Objective C
@import CoreVideo;Swift
import CoreVideoДоступность
Доступный в iOS 6.0 и позже.
-
Атрибуты для кэша текстуры.
Объявление
Swift
let kCVOpenGLESTextureCacheMaximumTextureAgeKey: CFString!Objective C
const CFStringRef kCVOpenGLESTextureCacheMaximumTextureAgeKey;Константы
-
kCVOpenGLESTextureCacheMaximumTextureAgeKeyПо умолчанию текстуры будут стареть после одной секунды. Установка максимального возраста текстуры нуля отключит механизм возраста полностью.
CVOpenGLESTextureCacheFlushфункция может использоваться для принуждения замещения в любом случае.Доступный в iOS 5.0 и позже.
-
