Sur cette page

CubeMapTexture QML Type

Définit une texture de carte cubique destinée à être utilisée dans des scènes 3D. En savoir plus...

Import Statement: import QtQuick3D
Inherits:

Texture

Description détaillée

CubeMapTexture est une texture qui représente une texture de carte cubique. Une texture de carte cubique comporte 6 faces (X+, X-, Y+, Y-, Z+, Z-), chaque face étant une image 2D distincte. CubeMapTexture permet à custom materials et post-processing effects d’utiliser des textures de carte cubique dans leurs shaders. Une carte cubique peut également être utilisée pour définir l’ skybox de l’environnement de la scène.

CustomMaterial {
    property TextureInput customTexture: TextureInput {
        texture: CubeMapTexture {
            source: "cubemap.ktx"
        }
    }
    fragmentShader: "shader.frag"
}

Ici, `shader.frag` peut être implémenté en supposant que ` customTexture ` est un uniforme de sampler de type GLSL `a` et ` samplerCube`. Cela signifie que la fonction GLSL ` texture() ` prend une ` vec3 ` comme coordonnée de texture pour ce sampler. Si nous avions utilisé ` Texture`, le type aurait été ` sampler2D`.

void MAIN()
{
    vec4 c = texture(customTexture, NORMAL);
    BASE_COLOR = vec4(c.rgb, 1.0);
}

L'utilisation d'une texture provenant d'un conteneur avec une carte cubique ne charge que la face 0 (X+) et donne une texture 2D. En revanche, l'utilisation d'une `CubeMapTexture` provenant du même élément charge les 6 faces et donne une texture de carte cubique.

CubeMapTexture hérite de toutes ses propriétés de Texture. La différence importante réside dans le fait que ` source ` doit faire référence à un fichier image contenant un cubemap, ou à une liste de fichiers image. En pratique, un fichier unique correspond à un conteneur KTX contenant les 6 images de face.

L'importation d'une `CubeMapTexture` à partir de 6 images individuelles peut s'effectuer de deux manières différentes. Soit sous la forme d'une liste de noms de fichiers séparés par des points-virgules, dans l'ordre X+, X-, Y+, Y-, Z+, Z- :

CubeMapTexture {
    source: "maps/right.jpg;maps/left.jpg;maps/top.jpg;maps/bottom.jpg;maps/front.jpg;maps/back.jpg"
}

soit sous la forme d’une chaîne contenant un espace réservé « %p », où « %p » sera remplacé par les chaînes « posx », « negx », « posy », « negy », « posz » et « negz » pour générer les six noms de fichiers :

CubeMapTexture {
    source: "maps/sky_%p.png"
    // equivalent to:
    // source: "maps/sky_posx.png;maps/sky_negx.png;maps/sky_posy.png;maps/sky_negy.png;maps/sky_posz.png;maps/sky_negz.png"
}

Remarque : l’importation de données d’images par d’autres moyens, tels que sourceItem ou textureData, n’est pour l’instant pas prise en charge pour CubeMapTexture.

Voir également Texture, CustomMaterial et Effect.

© 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.