FxHostResourcesAPI
FxHostResourcesAPI
протокол определяет методы, которые хост-приложение реализует, чтобы выделить и отследить ресурсы.
Эти методы позволяют узлу выделять ресурсы, такие как память, текстуры OpenGL, и PBuffers
, и позволяет хост-приложению порождать потоки для выполнения работы для плагина.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый не применимый
-
Выделяет блок RAM, возможно заполняя его указанным значением. (требуемый)
Объявление
Objective C
- (void*)allocateMemory:(size_t)
numBytes
clear:(BOOL)clear
clearWith:(UInt8)fillByte
error:(NSError**)outError
Параметры
numBytes
Число байтов для выделения.
clear
Очистить ли выделенные байты.
fillByte
Байт, с которым можно очистить недавно выделенную память.
outError
Параметром ссылки, содержащий
NSError
экземпляр, если происходит ошибка. Если успешныйNULL
возвращается.Возвращаемое значение
Указатель на недавно выделенный блок памяти, если это смогло успешно выделить его. В противном случае возвраты
NULL
и наборыoutError
параметр кNSError
экземпляр, описывающий ошибку. -
Создает прослеженный узлом pBuffer для Вашего плагина для использования (требуемый)
Объявление
Objective C
- (void)createPBuffer:(GLuint*)
pBufferID
withTarget:(GLenum)target
error:(NSError**)outError
Параметры
pBufferID
Получает ID недавно выделенного pBuffer.
target
Указывает целевую текстуру OpenGL.
outError
Параметром ссылки, содержащий
NSError
экземпляр, если происходит ошибка. Если успешныйNULL
возвращается. -
createTexture:withDOD:GLTarget:level:internalFormat:width:height:border:format:type:pixels:origin:pixelAspectRatio:andError: - createTexture:withDOD:GLTarget:level:internalFormat:width:height:border:format:type:pixels:origin:pixelAspectRatio:andError:
ТребуемыйВыделяет текстуру OpenGL с желаемыми характеристиками. (требуемый)
Объявление
Objective C
- (void)createTexture:(FxTexture**)
texture
withDOD:(FxRect)dod
GLTarget:(GLenum)target
level:(GLint)level
internalFormat:(GLenum)internalFormat
width:(GLsizei)width
height:(GLsizei)height
border:(GLint)border
format:(GLenum)format
type:(GLenum)type
pixels:(const GLvoid*)pixels
origin:(FxImageOrigin)origin
pixelAspectRatio:(double)pixelAspectRatio
andError:(NSError**)outError
Параметры
texture
Ссылка параметром ссылки
FxTexture
экземпляр, чтобы быть p хост-приложением. Если метод успешно выполнится, то он укажет на допустимоеFxTexture
экземпляр.dod
Домен определения изображения. Обычно это будет прямоугольником от
(0,0)
к (width
,height
).target
Целевая текстура OpenGL, такой как
GL_TEXTURE_RECTANGLE_EXT
, илиGL_TEXTURE_2D
.level
Уровень детализации множественного отображения создаваемой текстуры. Используйте 0, если приложение не требует, множественно отображается.
internalFormat
Указывает число компонентов цвета в изображении. Это должна быть одна из констант OpenGL для определения числа компонентов, такой как
AGL_RGBA
.width
Ширина, в пикселях, текстуры, которая будет создаваться.
height
Высота, в пикселях, текстуры, которая будет создаваться.
border
Ширина текстуры граничит в пикселях. Может быть 0.
format
Формат пикселя OpenGL. Если Ваш внутренний формат был
GL_RGBA
, эта константа говорит порядок каналов, такой какGL_RGBA
илиGL_BGRA
.type
OpenGL постоянное описание типа данных пиксельных данных. Это может быть одна из констант OpenGL, таких как:
GL_FLOAT
,GL_UNSIGNED_INT_8_8_8_8
, и т.д.pixels
Указатель на пиксельные данные в памяти.
origin
Указывает расположение источника данных изображения. Если данные изображения запустятся в нижнем левом углу, то параметр будет
kFxImageOrigin_BOTTOM_LEFT
. Если данные изображения запустятся в верхнем левом углу, то параметр будетkFxImageOrigin_TOP_LEFT
.pixelAspectRatio
Попиксельная пропорция изображения.
outError
Параметром ссылки, содержащий
NSError
экземпляр, если происходит ошибка. Если успешныйNULL
возвращается. -
Позволяет хост-приложению отслеживать память, которую оно не выделяло (требуемый)
Объявление
Objective C
- (void)trackExternalAllocation:(size_t)
numBytes
Параметры
numBytes
Число байтов, выделенных внешне
Обсуждение
Если Вы выделили память, не используя
FxHostResourcesAPI
протокол этот метод сообщает хост-приложению.Это полезно при интеграции библиотеки, которая не может легко быть портирована для использования
FxHostResourcesAPI
протокол для выделения памяти.Аналогично, когда Вы свободная память, вызовите этот метод с отрицательной величиной, чтобы позволить хост-приложению знать, что плагин освободил память.
-
freeMemory:error: - freeMemory:error:
ТребуемыйОсвобождает блок памяти, выделенной с-allocateMemory:clear:clearWith:error: (требуемый)
Объявление
Objective C
- (void)freeMemory:(void*)
ptr
error:(NSError**)outError
Параметры
ptr
Указатель на память, которая будет освобождена.
outError
Параметром ссылки, содержащий
NSError
экземпляр, если происходит ошибка. Если успешныйNULL
возвращается. -
deletePBuffer:error: - deletePBuffer:error:
ТребуемыйУничтожает прослеженный узлом (требуемый) pBuffer
Объявление
Objective C
- (void)deletePBuffer:(GLuint)
pBufferID
error:(NSError**)outError
Параметры
pBufferID
ID буфера для удаления.
outError
Параметром ссылки, содержащий
NSError
экземпляр, если происходит ошибка. Если успешныйNULL
возвращается. -
deleteTexture:error: - deleteTexture:error:
ТребуемыйУдаляет текстуру, которую узел выделил для Вас (потребовал)
Параметры
texture
Текстура для удаления.
outError
Параметром ссылки, содержащий
NSError
экземпляр, если происходит ошибка. Если успешныйNULL
возвращается.
-
performSelector:onTarget:withObject:onThreads:waitUntilDone:error: - performSelector:onTarget:withObject:onThreads:waitUntilDone:error:
ТребуемыйВыполняет метод на многократных потоках, возможно ожидая, пока он не завершается (требуемый)
Объявление
Параметры
selector
Селектор метода Вы хотите выполняемый на многократных потоках.
target
Целевой объект.
object
Объект Вы хотите выполнить селектор на.
numThreads
Число потоков Вы хотите выполнить селектор на.
wait
Должен ли метод ожидать, пока селектор не был выполнен на всех потоках перед продолжением.
outError
Параметром ссылки, содержащий
NSError
экземпляр, если происходит ошибка. Если успешныйNULL
возвращается.
-
numberOfCores - numberOfCores
ТребуемыйЧисло активных ядер (требуется)
Объявление
Objective C
- (NSUInteger)numberOfCores
Возвращаемое значение
Возвращает число ядер, которые машина может использовать во время обработки.