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 sepcifies 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. Creates the [Texture3D] or [TextureArray] with specified [code]width[/code], [code]height[/code], and [code]depth[/code]. See [enum Image.Format] for [code]format[/code] options. See [enum Flags] enumerator for [code]flags[/code] options. 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. 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. Equivalent to [constant FLAG_FILTER].