Version: 2021.1

Texture.GetNativeTexturePtr

切换到手册
public IntPtr GetNativeTexturePtr ();

返回

IntPtr Pointer to an underlying graphics API Texture resource.

描述

Retrieve a native (underlying graphics API) pointer to the Texture resource.

Use this function to retrieve a pointer/handle corresponding to a particular Texture as it is represented on the native graphics API level. This can be used to enable Texture manipulation from native code plugins.

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

For specific platforms, Unity has the following specifications: On Direct3D-like devices, Unity returns a pointer to the base Texture type (IDirect3DBaseTexture9 on D3D9, ID3D11Resource on D3D11, ID3D12Resource on D3D12). On OpenGL-like devices, the GL Texture "name" is returned; cast the pointer to an integer type to get it. On Metal, Unity returns an id<MTLTexture> pointer. On Vulkan, Unity returns an VkImage pointer. On platforms that do not support native code plug-ins, this function always returns NULL. Note that calling this function when using multi-threaded rendering will synchronize with the rendering thread (a slow operation), so best practice is to set up needed Texture pointers only at initialization time.

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