CubeMapTexture QML Type
Define una textura de mapa cúbico para su uso en escenas 3D. Más...
| Import Statement: | import QtQuick3D |
| Inherits: |
Descripción Detallada
CubeMapTexture es una Textura que representa una textura de mapa cúbico. Una textura de mapa cúbico tiene 6 caras (X+, X-, Y+, Y-, Z+, Z-), donde cada cara es una imagen 2D individual. CubeMapTexture permite a custom materials y post-processing effects trabajar con texturas de mapa cúbico en sus shaders. También se puede utilizar un mapa cúbico para definir el entorno de la escena skybox.
CustomMaterial { property TextureInput customTexture: TextureInput { texture: CubeMapTexture { source: "cubemap.ktx" } } fragmentShader: "shader.frag" }
Aquí shader.frag puede ser implementado asumiendo que customTexture es sampler uniforme con el tipo GLSL a samplerCube. Esto significa que la función GLSL texture() toma a vec3 como la coordenada de textura para ese sampler. Si hubiéramos utilizado Texture, el tipo habría sido sampler2D.
void MAIN()
{
vec4 c = texture(customTexture, NORMAL);
BASE_COLOR = vec4(c.rgb, 1.0);
}Una Textura de un contenedor con un cubemap solo carga la cara 0 (X+) y resulta en una textura 2D. Mientras que una Textura CubeMap del mismo asset carga las 6 caras y resulta en una textura cubemap.
CubeMapTexture hereda todas sus propiedades de Texture. La diferencia importante es que source debe referirse a un archivo de imagen que contenga un cubemap, o a una lista de archivos de imagen. En la práctica, un único archivo significa un contenedor KTX que contiene 6 imágenes de caras.
La obtención de un CubeMapTexture a partir de 6 imágenes individuales puede hacerse de dos maneras diferentes. O bien como una lista separada por punto y coma de nombres de archivo en orden 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" }
o como una cadena que contenga un marcador de posición "%p", donde "%p" se sustituirá por las cadenas "posx", "negx", "posy", "negy", "posz" y "negz" para generar los seis nombres de archivo:
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" }
Nota: La obtención de datos de imagen a través de otros medios, como sourceItem o textureData no es compatible con CubeMapTexture por el momento.
Véase también Texture, CustomMaterial, y 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.