Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
TextureArray¶
Inherits: TextureLayered < Resource < Reference < Object
Array of textures stored in a single primitive.
Descripción¶
TextureArray
s store an array of Images in a single Texture primitive. Each layer of the texture array has its own mipmap chain. This makes it is a good alternative to texture atlases. See also Texture3D.
TextureArray
s must be displayed using shaders. After importing your file as a TextureArray
and setting the appropriate Horizontal and Vertical Slices, display it by setting it as a uniform to a shader, for example (2D):
shader_type canvas_item;
uniform sampler2DArray tex;
uniform int index;
void fragment() {
COLOR = texture(tex, vec3(UV.x, UV.y, float(index)));
}
Set the integer uniform "index" to show a particular part of the texture as defined by the Horizontal and Vertical Slices in the importer.
Note: When sampling an albedo texture from a texture array in 3D, the sRGB -> linear conversion hint (hint_albedo
) should be used to prevent colors from looking washed out:
shader_type spatial;
uniform sampler2DArray tex : hint_albedo;
uniform int index;
void fragment() {
ALBEDO = texture(tex, vec3(UV.x, UV.y, float(index)));
}
Note: TextureArray
s can only be sampled in shaders in the GLES3 backend. In GLES2, their data can be accessed via scripting, but there is no way to render them in a hardware-accelerated manner.
Métodos¶
void |
create ( int width, int height, int depth, Format format, int flags=7 ) |
Descripciones de Métodos¶
Creates the TextureArray with specified width
, height
, and depth
. See Format for format
options. See Flags enumerator for flags
options.