2020-05-15 18:24:38 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 10:08:05 +02:00
<class name= "ImageTextureLayered" inherits= "TextureLayered" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2020-05-15 18:24:38 +02:00
<brief_description >
2022-10-24 23:19:32 +02:00
Base class for texture types which contain the data of multiple [ImageTexture]s. Each image is of the same size and format.
2020-05-15 18:24:38 +02:00
</brief_description>
<description >
2022-10-24 23:19:32 +02:00
Base class for [Texture2DArray], [Cubemap] and [CubemapArray]. Cannot be used directly, but contains all the functions necessary for accessing the derived resource types. See also [Texture3D].
2020-05-15 18:24:38 +02:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "create_from_images" >
2021-07-30 15:28:05 +02:00
<return type= "int" enum= "Error" />
2022-08-31 19:24:04 +02:00
<param index= "0" name= "images" type= "Image[]" />
2020-05-15 18:24:38 +02:00
<description >
2022-10-24 23:19:32 +02:00
Creates an [ImageTextureLayered] from an array of [Image]s. See [method Image.create] for the expected data format. The first image decides the width, height, image format and mipmapping setting. The other images [i]must[/i] have the same width, height, image format and mipmapping setting.
2022-09-08 10:19:54 +02:00
Each [Image] represents one [code]layer[/code].
2025-02-24 22:57:41 +01:00
[codeblock]
# Fill in an array of Images with different colors.
var images = []
const LAYERS = 6
for i in LAYERS:
2025-05-17 20:00:17 +02:00
var image = Image.create_empty(128, 128, false, Image.FORMAT_RGB8)
if i % 3 == 0:
image.fill(Color.RED)
elif i % 3 == 1:
image.fill(Color.GREEN)
else:
image.fill(Color.BLUE)
images.push_back(image)
2025-02-24 22:57:41 +01:00
# Create and save a 2D texture array. The array of images must have at least 1 Image.
var texture_2d_array = Texture2DArray.new()
texture_2d_array.create_from_images(images)
ResourceSaver.save(texture_2d_array, "res://texture_2d_array.res", ResourceSaver.FLAG_COMPRESS)
# Create and save a cubemap. The array of images must have exactly 6 Images.
# The cubemap's images are specified in this order: X+, X-, Y+, Y-, Z+, Z-
# (in Godot's coordinate system, so Y+ is "up" and Z- is "forward").
var cubemap = Cubemap.new()
cubemap.create_from_images(images)
ResourceSaver.save(cubemap, "res://cubemap.res", ResourceSaver.FLAG_COMPRESS)
# Create and save a cubemap array. The array of images must have a multiple of 6 Images.
# Each cubemap's images are specified in this order: X+, X-, Y+, Y-, Z+, Z-
# (in Godot's coordinate system, so Y+ is "up" and Z- is "forward").
var cubemap_array = CubemapArray.new()
cubemap_array.create_from_images(images)
ResourceSaver.save(cubemap_array, "res://cubemap_array.res", ResourceSaver.FLAG_COMPRESS)
[/codeblock]
2020-05-15 18:24:38 +02:00
</description>
</method>
<method name= "update_layer" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 21:11:48 +03:00
<param index= "0" name= "image" type= "Image" />
<param index= "1" name= "layer" type= "int" />
2020-05-15 18:24:38 +02:00
<description >
2023-04-26 21:36:04 +02:00
Replaces the existing [Image] data at the given [param layer] with this new image.
2023-10-02 20:11:43 +02:00
The given [Image] must have the same width, height, image format, and mipmapping flag as the rest of the referenced images.
2022-09-08 10:19:54 +02:00
If the image format is unsupported, it will be decompressed and converted to a similar and supported [enum Image.Format].
2022-10-24 23:19:32 +02:00
The update is immediate: it's synchronized with drawing.
2020-05-15 18:24:38 +02:00
</description>
</method>
</methods>
</class>