Version: 2020.2
言語: 日本語
public IntPtr GetNativeTexturePtr ();

戻り値

IntPtr 基礎をなすグラフィックス API テクスチャリソースを指すポインター

説明

テクスチャリソースへのネイティブ (グラフィックス API に内在する) ポインターを取得します。

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.

Note: When you use the Unity APIs to modify the pixel data of a Texture object, it changes the underlying graphics API native pointer. Call GetNativeTexturePtr to get the new native pointer.

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.

See Also: Native code plugins, Texture2D.CreateExternalTexture, Cubemap.CreateExternalTexture, RenderTexture.GetNativeDepthBufferPtr.