Version: 2022.3
LanguageEnglish
  • C#

Texture3D Constructor

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual

Declaration

public Texture3D(int width, int height, int depth, TextureFormat textureFormat, bool mipChain, bool createUninitialized = false);

Declaration

public Texture3D(int width, int height, int depth, TextureFormat textureFormat, bool mipChain, IntPtr nativeTex = IntPtr.Zero);

Declaration

public Texture3D(int width, int height, int depth, TextureFormat textureFormat, int mipCount, IntPtr nativeTex = IntPtr.Zero);

Declaration

public Texture3D(int width, int height, int depth, TextureFormat textureFormat, int mipCount, IntPtr nativeTex = IntPtr.Zero, bool createUninitialized = false);

Parameters

width Width of texture in pixels.
height Height of texture in pixels.
depth Depth of texture in pixels.
textureFormat Texture data format.
mipChain Determines whether the texture has mipmaps or not. A value of 1 (true) means the texture does have mipmaps, and a value of 0 (false) means the texture doesn't have mipmaps.
nativeTex External native texture pointer to use. Defaults to generating its own internal native texture.
mipCount Amount of mipmaps to allocate for the texture.
createUninitialized Use this flag to create the texture with uninitialized data. When overriding all texels anyway, this can lead to improved performance and reduced memory usage.

Description

Create a new empty 3D Texture.

3D textures can be thought of as a box of pixels, with width, height and depth. Note that large textures can consume a lot of memory, for example a 1024x512x256 texture with TextureFormat.ARGB32 format and no mipmaps will consume 512MB of memory.

Note that this class does not support Texture3D creation with a Crunch compression TextureFormat.

Enable createUninitialized to make the texture reference uninitialized data (both on the CPU and GPU). When overriding all texels, this can lead to improved performance and reduced memory usage during construction. Note that sampling an uninitialized texture gives unpredictable values.

Additional resources: SetPixel, SetPixels, SetPixels32, Apply functions.