Version: 2017.3

Texture2D.CreateExternalTexture

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

参数

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

描述

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

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

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

Direct3D 类设备上的原生纹理对象是一个指向基本类型的指针,可通过该指针创建纹理 (D3D9 上为 IDirect3DBaseTexture9,D3D11 上为 ID3D11ShaderResourceView)。在 OpenGL/OpenGL ES 上为 GLuint。在 Metal 上为 id<MTLTexture>。

另请参阅:UpdateExternalTextureTexture.GetNativeTexturePtr