Version: 2020.1

Texture.GetNativeTexturePtr

切换到手册
public IntPtr GetNativeTexturePtr ();

返回

IntPtr 指向底层图形 API 纹理资源的指针。

描述

获取指向纹理资源的原生(底层图形 API)指针。

使用此函数可检索与特定纹理对应的指针/句柄, 因为它以原生图形 API 级别表示。 这可用于通过 native code plugins 启用纹理操作。

注意:使用 Unity API 修改纹理对象的像素数据时,会更改基础图形 API 原生指针。调用 GetNativeTexturePtr 可获取新的原生指针。

在 Direct3D 类设备上,它返回一个指向基础纹理类型的指针(D3D9 上为 IDirect3DBaseTexture9, D3D11 上为 ID3D11Resource,D3D12 上为 ID3D12Resource)。在 OpenGL 类设备上,返回 GL 纹理“名称”;将指针转换为整数类型可获取它。在 Metal 上,返回 id<MTLTexture> 指针。在不支持原生代码插件的平台上,此函数始终返回 NULL。

注意,在使用多线程渲染时调用此函数将与正在渲染的线程(慢速操作)同步, 因此最佳做法是仅在初始化时设置所需的 纹理指针。

另请参阅:原生代码插件Texture2D.CreateExternalTextureCubemap.CreateExternalTextureRenderTexture.GetNativeDepthBufferPtr