Legacy Documentation: Version 2018.1 (Go to current version)
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

Texture.GetNativeTexturePtr

public IntPtr GetNativeTexturePtr();

Returns

IntPtr Pointer to an underlying graphics API texture resource.

Description

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.

On Direct3D-like devices this 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 integer type to get it. On Metal, the id<MTLTexture> pointer is returned. On platforms that do not support native code plugins, 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, RenderTexture.GetNativeDepthBufferPtr.

Did you find this page useful? Please give it a rating: