Unity 6.3
0 онлайн 57 гостей 3 в системе
Вход

Texture.GetNativeTexturePtr

Declaration

public IntPtr GetNativeTexturePtr();

Возвращаемое значение

IntPtr Указатель на базовый графический ресурс API Текстура.

Описание

Получить собственный (базовый график API) указатель на ресурс Текстура.

Используйте эту функцию для получения указателя / ручки, соответствующей определенной текстуре, как она представлена на нативной графике API Это может быть использовано для включения манипуляции текстурой из плагины с нативным кодом.

Примечание: Когда вы используете Unity APIs чтобы изменить пиксельные данные текстурного объекта, он изменяет базовую графику API нативный указатель. Вызов GetNativeTexturePtr чтобы получить новый нативный указатель.

Для конкретных платформ, Unity имеет следующие характеристики:

  • На устройствах типа Direct3D, Unity возвращает указатель на базовый тип Текстуры (ID3D11Resource на D3D11, ID3D12Resource на D3D12).
  • На OpenGL-подобных устройствах возвращается "имя" Текстуры GL; для получения этого имени переместите указатель на целое число.
  • На Metal, Unity возвращает указатель на id<MTLTexture>.
  • На Vulkan, Unity возвращает указатель на VkImage.
  • На платформах, которые не поддерживают плагины с нативным кодом, эта функция всегда возвращает NULL.

Обратите внимание, что вызов этой функции при использовании многопоточного рендеринга будет синхронизироваться с потоком рендеринга (медленная операция), поэтому лучшим решением является установка необходимых указателей Текстуры только во время инициализации.

Дополнительные ресурсы: Плагины для нативного кода, Texture2D.CreateExternalTexture, Cubemap.CreateExternalTexture, RenderTexture.GetNativeDepthBufferPtr.