CubeMapTexture QML Type
Definiert eine Cube-Map-Textur zur Verwendung in 3D-Szenen. Mehr...
| Import Statement: | import QtQuick3D |
| Inherits: |
Ausführliche Beschreibung
CubeMapTexture ist eine Textur, die eine Cube-Map-Textur darstellt. Eine Cube-Map-Textur hat 6 Seiten (X+, X-, Y+, Y-, Z+, Z-), wobei jede Seite ein eigenständiges 2D-Bild ist. CubeMapTexture ermöglicht es „ custom materials “ und „ post-processing effects “, in ihren Shadern mit Cube-Map-Texturen zu arbeiten. Eine Cube-Map kann auch verwendet werden, um die „ skybox “ der Szenenumgebung zu definieren.
CustomMaterial {
property TextureInput customTexture: TextureInput {
texture: CubeMapTexture {
source: "cubemap.ktx"
}
}
fragmentShader: "shader.frag"
}Hier kann `shader.frag` unter der Annahme implementiert werden, dass ` customTexture ` ein Sampler-Uniform mit dem GLSL-Typ `a samplerCube` ist. Das bedeutet, dass die GLSL-Funktion ` texture() ` eine ` vec3 ` als Texturkoordinate für diesen Sampler verwendet. Hätten wir ` Texture` verwendet, wäre der Typ ` sampler2D` gewesen.
void MAIN()
{
vec4 c = texture(customTexture, NORMAL);
BASE_COLOR = vec4(c.rgb, 1.0);
}Das Laden einer Textur aus einem Container mit einer Cubemap lädt nur die Fläche 0 (X+) und führt zu einer 2D-Textur. Das Laden einer `CubeMapTexture` aus demselben Asset lädt hingegen alle 6 Flächen und führt zu einer Cubemap-Textur.
„CubeMapTexture“ erbt alle seine Eigenschaften von „Texture“. Der wichtige Unterschied besteht darin, dass „ source “ sich auf eine Bilddatei beziehen muss, die eine CubeMap enthält, oder auf eine Liste von Bilddateien. In der Praxis bedeutet eine einzelne Datei einen KTX -Container, der 6 Flächenbilder enthält.
Das Laden einer „CubeMapTexture“ aus 6 einzelnen Bildern kann auf zwei verschiedene Arten erfolgen. Entweder als durch Semikolons getrennte Liste von Dateinamen in der Reihenfolge 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"
}oder als Zeichenkette mit dem Platzhalter „%p“, wobei „%p“ durch die Zeichenketten „posx“, „negx“, „posy“, „negy“, „posz“ und „negz“ ersetzt wird, um die sechs Dateinamen zu generieren:
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"
}Hinweis: Das Einlesen von Bilddaten über andere Quellen, wie z. B. sourceItem oder textureData, wird für CubeMapTexture derzeit nicht unterstützt.
Siehe auch Texture, CustomMaterial und 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.