From 84ecbbaa89276b58dee76dbac8e653b835b61ae3 Mon Sep 17 00:00:00 2001 From: rainlizard Date: Mon, 19 Apr 2021 17:21:37 +1000 Subject: [PATCH] Document how to use a TextureArray --- doc/classes/TextureArray.xml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/classes/TextureArray.xml b/doc/classes/TextureArray.xml index c1884a7dbe3..f07f8216cfb 100644 --- a/doc/classes/TextureArray.xml +++ b/doc/classes/TextureArray.xml @@ -4,7 +4,19 @@ Array of textures stored in a single primitive. - [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. + [TextureArray]s store an array of [Image]s 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. + [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: + [codeblock] + shader_type canvas_item; + + uniform sampler2DArray tex; + uniform int index; + + void fragment() { + COLOR = texture(tex, vec3(UV.x, UV.y, float(index))); + } + [/codeblock] + Set the integer uniform "index" to show a particular part of the texture as defined by the Horizontal and Vertical Slices in the importer.