Ссылка CVOpenGLESTextureCache
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreVideo
Objective C
@import CoreVideo;
Базовое Видео кэши текстуры OpenGLES используется, чтобы кэшироваться и управлять CVOpenGLESTextureRef
текстуры. Эти кэши текстуры предоставляют Вам способ непосредственно читать и буферы записи с различными форматами пикселя, такой как 420v или BGRA, от GLES.
Функции в этом разделе воздействуют на Базовые Видео кэши текстуры, полученные из CVOpenGLESTextureCacheRef
ввести.
-
Возвращает Базовый идентификатор типа Основы для Базового Видео кэша текстуры.
Объявление
Swift
func CVOpenGLESTextureCacheGetTypeID() -> CFTypeID
Objective 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 );
Параметры
allocator
CFAllocatorRef
использовать для выделения кэша текстуры. Этот параметр может бытьNULL
.cacheAttributes
A
CFDictionaryRef
содержа атрибуты самого кэша текстуры. Этот параметр может бытьNULL
.eaglContext
Контекст OpenGLES 2.0, в который будут создаваться объекты текстуры. Контексты OpenGLES 1.x не поддерживаются.
textureAttributes
A
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 );
Параметры
allocator
CFAllocatorRef
использовать для выделения объекта текстуры. Этот параметр может бытьNULL
.textureCache
Объект кэша текстуры, который будет управлять текстурой.
sourceImage
CVImageBufferRef
то, что Вы хотите создать текстуру из.textureAttributes
A
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
для отображения связывают. Проигнорированный для непланарногоCVImageBufferRef
s.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 = CVOpenGLESTextureCache
Objective C
typedef struct __CVOpenGLESTextureCache *CVOpenGLESTextureCacheRef;
Оператор импорта
Objective C
@import CoreVideo;
Swift
import CoreVideo
Доступность
Доступный в iOS 5.0 и позже.
-
Тип, решающий к
EAGLContext
указатель в надлежащих случаях.Объявление
Swift
typealias CVEAGLContext = EAGLContext
Objective 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 и позже.
-