Base class for 3D texture types. Base class for [Texture3D] and [TextureArray]. Cannot be used directly, but contains all the functions necessary for accessing and using [Texture3D] and [TextureArray]. Data is set on a per-layer basis. For [Texture3D]s, the layer specifies the depth or Z-index, they can be treated as a bunch of 2D slices. Similarly, for [TextureArray]s, the layer specifies the array layer. Returns the depth of the texture. Depth is the 3rd dimension (typically Z-axis). Returns the current format being used by this texture. See [enum Image.Format] for details. Returns the height of the texture. Height is typically represented by the Y-axis. Returns an [Image] resource with the data from specified [code]layer[/code]. Returns the width of the texture. Width is typically represented by the X-axis. Partially sets the data for a specified [code]layer[/code] by overwriting using the data of the specified [code]image[/code]. [code]x_offset[/code] and [code]y_offset[/code] determine where the [Image] is "stamped" over the texture. The [code]image[/code] must fit within the texture. Sets the data for the specified layer. Data takes the form of a 2-dimensional [Image] resource. Returns a dictionary with all the data used by this texture. Specifies which [enum Flags] apply to this texture. Default flags for [TextureArray]. [constant FLAG_MIPMAPS], [constant FLAG_REPEAT] and [constant FLAG_FILTER] are enabled. Default flags for [Texture3D]. [constant FLAG_FILTER] is enabled. Texture will generate mipmaps on creation. Texture will repeat when UV used is outside the 0-1 range. Use filtering when reading from texture. Filtering smooths out pixels. Turning filtering off is slightly faster and more appropriate when you need access to individual pixels. Uses anisotropic mipmap filtering. Generates smaller versions of the same texture with different aspect ratios. This results in better-looking textures when viewed from oblique angles.