Version: 2020.1

Texture2D.CreateExternalTexture

切换到手册
public static Texture2D CreateExternalTexture (int width, int height, TextureFormat format, bool mipChain, bool linear, IntPtr nativeTex);

参数

nativeTex 原生 2D 纹理对象。
width 纹理宽度(以像素为单位)。
height 纹理高度(以像素为单位)。
format 底层纹理对象的格式。
mipmap 该纹理是否有多级渐进纹理?
linear 纹理是否使用线性颜色空间?

描述

基于外部创建的原生纹理对象创建一个 Unity 纹理。

此函数最适用于原生代码插件,这些插件在 Unity 外部创建平台特定的纹理 对象,并且需要在 Unity 场景中使用这些纹理。也可以在 Unity 中创建纹理, 然后获取指向底层平台表示的指针;请参阅 Texture.GetNativeTexturePtr

传递到 CreateExternalTexture 的参数应与该纹理的实际值匹配;底层纹理应为 2D(立方体贴图或 3D 纹理将不起作用)。

Direct3D 类设备上的原生纹理对象是一个指向基本类型的指针,可通过该指针创建纹理:

D3D11: ID3D11ShaderResourceView*ID3D11Texture2D*
D3D12: ID3D12Texture2D*

OpenGL/OpenGL ES 中为 GLuint

Metal 中为 id<MTLTexture>

另请参阅:UpdateExternalTextureTexture.GetNativeTexturePtr