Sur cette page

ProceduralTextureData QML Type

Permet de créer et de remplir des objets « TextureData » à partir de QML. En savoir plus…

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

TextureData

Propriétés

Description détaillée

ProceduralTextureData est un type d’aide permettant de créer des données de texture procédurales ( TextureData ) à partir de QML. Le composant TextureData est abstrait et est généralement créé en C++. Grâce à 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 l'TextureData est renseignée.

Documentation des propriétés

depth : int [default: 0]

Cette propriété indique la profondeur des données de 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 de 8 bits dans les canaux R, G, B et alpha.
TexureData.RGBA16FLe format de couleur est considéré comme un nombre à virgule flottante de 16 bits dans les canaux R, G, B et alpha.
TexureData.RGBA32FLe format de couleur est considéré comme un nombre à virgule flottante 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, G et B, avec un exposant partagé de 8 bits.
TexureData.R8Le format de 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 nombre à virgule flottante de 16 bits dans le canal R.
TexureData.R32FLe format de couleur est considéré comme un nombre à virgule flottante 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 un format compressé BC2 avec les canaux R, G, B et alpha.
TexureData.BC3Le format de couleur est considéré comme un format compressé BC3 avec les canaux R, G, B et alpha.
TexureData.BC4Le format de couleur est considéré comme un format compressé BC4 avec un canal de couleur.
TexureData.BC5Le format de couleur est considéré comme un format compressé BC5 avec deux canaux de couleur.
TexureData.BC6HLe format de couleur est considéré comme un format compressé BC6H avec trois canaux de couleur à plage dynamique élevée.
TexureData.BC7Le format de couleur est considéré comme un format compressé BC7 avec des canaux R, G, B et alpha.
TexureData.DXT1_RGBALe format de couleur est considéré comme un format compressé DXT1 avec des canaux R, G, B et alpha.
TexureData.DXT1_RGBLe format 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 des canaux R, G, B et alpha.
TexureData.DXT5_RGBALe format de couleur est considéré comme un format compressé DXT5 avec des canaux R, G, B et alpha.
TexureData.ETC2_RGB8Le format 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ù le canal alpha est à 1 bit.
TexureData.ETC2_RGBA8Le format de couleur est considéré comme un format compressé ETC2 avec des données RGBA8888.
TexureData.ASTC_4x4Le format couleur est considéré comme un format compressé ASTC avec une empreinte de bloc 4x4.
TexureData.ASTC_5x4Le format de couleur est considéré comme un format compressé ASTC avec une taille de bloc de 5x4.
TexureData.ASTC_5x5Le format de couleur est considéré comme un format compressé ASTC avec une taille de bloc de 5x5.
TexureData.ASTC_6x5Le format de couleur est considéré comme un format compressé ASTC avec une taille de bloc de 6x5.
TexureData.ASTC_6x6Le format de couleur est considéré comme un format compressé ASTC avec une taille de bloc de 6x6.
TexureData.ASTC_8x5Le format couleur est considéré comme un format compressé ASTC avec une empreinte de blocs de 8x5.
TexureData.ASTC_8x6Le format couleur est considéré comme un format compressé ASTC avec une empreinte de blocs de 8x6.
TexureData.ASTC_8x8Le format couleur est considéré comme un format compressé ASTC avec une empreinte de blocs de 8x8.
TexureData.ASTC_10x5Le format couleur est considéré comme un format compressé ASTC avec une empreinte de blocs de 10x5.
TexureData.ASTC_10x6Le format couleur est considéré comme un format compressé ASTC avec une empreinte de blocs de 10x6.
TexureData.ASTC_10x8Le format couleur est considéré comme un format compressé ASTC avec une empreinte de blocs de 10x8.
TexureData.ASTC_10x10Le format couleur est considéré comme un format compressé ASTC avec une empreinte de blocs de 10x10.
TexureData.ASTC_12x10Le format couleur est considéré comme un format compressé ASTC avec une empreinte de blocs de 12x10.
TexureData.ASTC_12x12Le format couleur est considéré comme un format compressé ASTC avec une empreinte de blocs de 12x12.

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

Remarque : le format « TexureData.RGBE » est représenté en interne sous la forme d’un « TexureData.RGBA8 », mais il est interprété comme décrit lorsqu’il est utilisé comme texture de lightProbe ou de skybox.

Remarque : l’utilisation de la valeur TexureData.None suppose la valeur par défaut de TexureData.RGBA8

hasTransparency : bool

Cette propriété indique si les données de texture comportent de la transparence.

height : int [default: 0]

Cette propriété contient la hauteur des données de texture, exprimée 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.