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.

ImageTextureLayered

Hérite de : TextureLayered < Texture < Resource < RefCounted < Object

Hérité par : Cubemap, CubemapArray, Texture2DArray

Classe de base pour les types de texture qui contiennent les données de plusieurs ImageTextures. Chaque image est de la même taille et du même format.

Description

Classe de base pour Texture2DArray, Cubemap et CubemapArray. Ne peut être utilisée directement, mais contient toutes les fonctions nécessaires pour accéder aux types de ressources dérivées. Voir aussi Texture3D.

Méthodes

Error

create_from_images(images: Array[Image])

void

update_layer(image: Image, layer: int)


Descriptions des méthodes

Error create_from_images(images: Array[Image]) 🔗

Crée une ImageTextureLayered depuis un tableau d'Images. Voir Image.create() pour le format attendu des données. La première image décide de la largeur, de la hauteur, du format d'image et des paramètres de mipmaps. Les autres images doivent avoir la même largeur, hauteur, format d'image et paramètres de mipmaps.

Chaque Image représente une couche layer.

# Remplir un tableau d'images avec des images de différentes couleurs.
var images = []
const COUCHES = 6
for i in COUCHES:
    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)

# Créer et sauvegarder un tableau de textures 2D. Le tableau d'images doit avoir au moins une image.
var tableau_texture_2d = Texture2DArray.new()
tableau_texture_2d.create_from_images(images)
ResourceSaver.save(tableau_texture_2d, "res://tableau_texture_2d.res", ResourceSaver.FLAG_COMPRESS)

# Créer et sauvegarder une cubemap. Le tableau d'images doit avoir exactement 6 images.
# Les images de la cubemap sont spécifiés dans cet ordre : X+, X-, Y+, Y-, Z+, Z-
# (dans le système de coordonnées de Godot, donc Y+ est "haut" et Z- est "avant").
var cubemap = Cubemap.new()
cubemap.create_from_images(images)
ResourceSaver.save(cubemap, "res://cubemap.res", ResourceSaver.FLAG_COMPRESS)

# Créer et sauvegarder un tableau de cubemaps. Le tableau d'images doit avoir un multiple de 6 images.
# Les images de chaque cubemap sont spécifiés dans cet ordre : X+, X-, Y+, Y-, Z+, Z-
# (dans le système de coordonnées de Godot, donc Y+ est "haut" et Z- est "avant").
var tableau_cubemap = CubemapArray.new()
tableau_cubemap.create_from_images(images)
ResourceSaver.save(tableau_cubemap, "res://tableau_cubemap.res", ResourceSaver.FLAG_COMPRESS)

void update_layer(image: Image, layer: int) 🔗

Remplace les données de l'Image existante à la couche layer donnée par cette nouvelle image.

L'image donnée doit avoir la même largeur, hauteur, format d'image et drapeau de mipmapping que le reste des images référencées.

Si le format d'image n'est pas supporté, elle sera décompressée et convertie en un Format similaire et supporté.

La mise à jour est immédiate : elle est synchronisée avec le dessin.