Sur cette page

ProceduralTextureData QML Type

Permet de créer et de peupler TextureData à partir de QML. Plus d'informations...

Import Statement: import QtQuick3D.Helpers
Since: Qt 6.6
Inherits:

TextureData

Propriétés

Description détaillée

ProceduralTextureData est un type d'aide qui permet de créer TextureData à partir de QML. Le composant TextureData est abstrait et est généralement créé en C++. Avec ProceduralTextureData, il est possible de remplir un TextureData à partir de QML.

ProceduralTextureData {
    id: dynamicTextureData
    property color color1: "red"
    property color color2: "black"
    width: 32
    height: 32
    hasTransparency: false
    format: TextureData.RGBA8
    textureData: generateTextureData(color1, color2)

    function generateTextureData(newColor1: color, newColor2 : color) : ArrayBuffer {
        let dataBuffer = new ArrayBuffer(width * height * 4)
        let data = new Uint8Array(dataBuffer)
        // Create a checkered pattern using newColor1 and newColor2
        for (let x = 0; x < width; x++) {
            for (let y = 0; y < height; y++) {
                let index = (x + y * width) * 4
                let color = (x % 2 === y % 2) ? newColor1 : newColor2
                data[index + 0] = color.r * 255
                data[index + 1] = color.g * 255
                data[index + 2] = color.b * 255
                data[index + 3] = 255
            }
        }
        return dataBuffer
    }
}

Dans l'extrait de code ci-dessus, la fonction generateTextureData est utilisée pour générer un motif en damier à l'aide des deux couleurs color1 et color2. En remplissant un ArrayBuffer avec les données générées, la propriété textureData de TextureData est remplie.

Documentation sur les propriétés

depth : int [default: 0]

Cette propriété indique la profondeur des données de la texture en pixels. Si la profondeur est supérieure à 0, la texture est traitée comme une texture 3D.

format : enumeration [default: TextureData.RGBA8]

Cette propriété définit le format des données de texture.

ConstanteDescription
TexureData.NoneLe format de couleur n'est pas défini
TexureData.RGBA8Le format de couleur est considéré comme un entier 8 bits dans les canaux R, G, B et alpha.
TexureData.RGBA16FLe format de couleur est considéré comme un flottant de 16 bits dans les canaux R, G, B et alpha.
TexureData.RGBA32FLe format de couleur est considéré comme un flottant de 32 bits dans les canaux R, G, B et alpha.
TexureData.RGBE8Le format de couleur est considéré comme une mantisse de 8 bits dans les canaux R, V et B et un exposant partagé de 8 bits.
TexureData.R8Le format de la couleur est considéré comme un entier de 8 bits dans le canal R.
TexureData.R16Le format de couleur est considéré comme un entier de 16 bits dans le canal R.
TexureData.R16FLe format de couleur est considéré comme un flottant de 16 bits dans le canal R.
TexureData.R32FLe format de couleur est considéré comme un flottant de 32 bits dans le canal R.
TexureData.BC1Le format de couleur est considéré comme un format compressé BC1 avec les canaux R, G, B et alpha.
TexureData.BC2Le format de couleur est considéré comme le format compressé BC2 avec les canaux R, G, B et alpha.
TexureData.BC3Le format de couleur est considéré comme le format compressé BC3 avec les canaux R, V, B et alpha.
TexureData.BC4Le format de couleur est considéré comme le format compressé BC4 avec un canal de couleur.
TexureData.BC5Le format de couleur est considéré comme le format compressé BC5 avec deux canaux de couleur.
TexureData.BC6HLe format de couleur est considéré comme le format compressé BC6H avec trois canaux de couleur à gamme dynamique élevée.
TexureData.BC7Le format de couleur est considéré comme le format compressé BC7 avec les canaux R, G, B et alpha.
TexureData.DXT1_RGBALe format couleur est considéré comme un format compressé DXT1 avec des canaux R, G, B et alpha.
TexureData.DXT1_RGBLe format de couleur est considéré comme un format compressé DXT1 avec des canaux R, G et B.
TexureData.DXT3_RGBALe format de couleur est considéré comme un format compressé DXT3 avec les canaux R, G, B et alpha.
TexureData.DXT5_RGBALe format de couleur est considéré comme le format compressé DXT5 avec les canaux R, G, B et alpha.
TexureData.ETC2_RGB8Le format de couleur est considéré comme un format compressé ETC2 pour les données RGB888.
TexureData.ETC2_RGB8A1Le format de couleur est considéré comme un format compressé ETC2 pour les données RGBA où l'alpha est de 1 bit.
TexureData.ETC2_RGBA8Le format de couleur est considéré comme le format compressé ETC2 pour les données RGBA8888.
TexureData.ASTC_4x4Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc de 4x4.
TexureData.ASTC_5x4Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc de 5x4.
TexureData.ASTC_5x5Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc de 5x5.
TexureData.ASTC_6x5Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc de 6x5.
TexureData.ASTC_6x6Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc de 6x6.
TexureData.ASTC_8x5Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc 8x5.
TexureData.ASTC_8x6Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc 8x6.
TexureData.ASTC_8x8Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc 8x8.
TexureData.ASTC_10x5Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc 10x5.
TexureData.ASTC_10x6Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc 10x6.
TexureData.ASTC_10x8Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc 10x8.
TexureData.ASTC_10x10Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc de 10x10.
TexureData.ASTC_12x10Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc de 12x10.
TexureData.ASTC_12x12Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc de 12x12.

Remarque : à l'exception de TexureData.RGBA8, tous les formats ne sont pas pris en charge au moment de l'exécution, car cela dépend du backend utilisé et du matériel utilisé.

Remarque : TexureData.RGBE est représenté en interne comme TexureData.RGBA8 mais est interprété comme décrit lorsqu'il est utilisé comme texture lightProbe ou skybox.

Note : L'utilisation de la valeur TexureData.None prendra la valeur par défaut de TexureData.RGBA8

hasTransparency : bool

Cette propriété indique si les données de texture sont transparentes.

height : int [default: 0]

Cette propriété indique la hauteur des données de texture en pixels.

textureData : ArrayBuffer

Cette propriété contient les données de texture.

width : int [default: 0]

Cette propriété indique la largeur des données de texture en pixels.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.