Auf dieser Seite

ProceduralTextureData QML Type

Ermöglicht die Erstellung und das Ausfüllen von „ TextureData “ aus QML. Mehr...

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

TextureData

Eigenschaften

Ausführliche Beschreibung

„ProceduralTextureData“ ist ein Hilfstyp, der die Erstellung von „ TextureData “ aus QML ermöglicht. Die Komponente „ TextureData “ ist abstrakt und wird in der Regel in C++ erstellt. Mit „ProceduralTextureData“ ist es möglich, ein „ TextureData “ aus QML zu füllen.

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
    }
}

Im obigen Codeausschnitt wird die Funktion `generateTextureData` verwendet, um ein Schachbrettmuster unter Verwendung der beiden Farben `color1` und `color2` zu erzeugen. Durch das Befüllen eines `ArrayBuffer` mit den generierten Daten wird die Eigenschaft ` textureData ` der ` TextureData ` gefüllt.

Dokumentation zur Eigenschaft

depth : int [default: 0]

Diese Eigenschaft gibt die Tiefe der Texturdaten in Pixeln an. Wird die Tiefe auf einen Wert über 0 gesetzt, wird die Textur als 3D-Textur behandelt.

format : enumeration [default: TextureData.RGBA8]

Diese Eigenschaft gibt das Format der Texturdaten an.

KonstanteBeschreibung
TexureData.NoneDas Farbformat ist nicht definiert
TexureData.RGBA8Das Farbformat wird als 8-Bit-Ganzzahl in den R-, G-, B- und Alpha-Kanälen betrachtet.
TexureData.RGBA16FDas Farbformat wird in den R-, G-, B- und Alpha-Kanälen als 16-Bit-Float-Wert betrachtet.
TexureData.RGBA32FDas Farbformat wird in den Kanälen R, G, B und Alpha als 32-Bit-Float-Wert behandelt.
TexureData.RGBE8Das Farbformat wird als 8-Bit-Mantisse in den R-, G- und B-Kanälen und als gemeinsamer 8-Bit-Exponent betrachtet.
TexureData.R8Das Farbformat wird im R-Kanal als 8-Bit-Ganzzahl betrachtet.
TexureData.R16Das Farbformat wird im R-Kanal als 16-Bit-Ganzzahl betrachtet.
TexureData.R16FDas Farbformat wird im R-Kanal als 16-Bit-Float-Wert behandelt.
TexureData.R32FDas Farbformat wird im R-Kanal als 32-Bit-Float-Wert behandelt.
TexureData.BC1Das Farbformat wird als BC1-komprimiertes Format mit R-, G-, B- und Alpha-Kanälen betrachtet.
TexureData.BC2Das Farbformat wird als BC2-komprimiertes Format mit R-, G-, B- und Alpha-Kanälen betrachtet.
TexureData.BC3Das Farbformat wird als BC3-komprimiertes Format mit R-, G-, B- und Alpha-Kanälen betrachtet.
TexureData.BC4Das Farbformat wird als BC4-komprimiertes Format mit einem Farbkanal betrachtet.
TexureData.BC5Das Farbformat wird als BC5-komprimiertes Format mit zwei Farbkanälen betrachtet.
TexureData.BC6HDas Farbformat wird als komprimiertes BC6H-Format mit drei Farbkanälen für hohen Dynamikumfang betrachtet.
TexureData.BC7Das Farbformat wird als komprimiertes BC7-Format mit R-, G-, B- und Alphakanälen betrachtet.
TexureData.DXT1_RGBADas Farbformat wird als komprimiertes DXT1-Format mit R-, G-, B- und Alphakanälen betrachtet.
TexureData.DXT1_RGBDas Farbformat wird als komprimiertes DXT1-Format mit R-, G- und B-Kanälen betrachtet.
TexureData.DXT3_RGBADas Farbformat wird als komprimiertes DXT3-Format mit R-, G-, B- und Alpha-Kanälen betrachtet.
TexureData.DXT5_RGBADas Farbformat wird als komprimiertes DXT5-Format mit R-, G-, B- und Alpha-Kanälen betrachtet.
TexureData.ETC2_RGB8Das Farbformat wird als komprimiertes ETC2-Format für RGB888-Daten betrachtet.
TexureData.ETC2_RGB8A1Das Farbformat wird als komprimiertes ETC2-Format für RGBA-Daten betrachtet, bei denen der Alpha-Kanal 1 Bit breit ist.
TexureData.ETC2_RGBA8Das Farbformat wird als komprimiertes ETC2-Format mit RGBA8888-Daten betrachtet.
TexureData.ASTC_4x4Das Farbformat wird als komprimiertes ASTC-Format mit einer 4x4-Blockgröße betrachtet.
TexureData.ASTC_5x4Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 5×4 betrachtet.
TexureData.ASTC_5x5Das Farbformat wird als ASTC-komprimiertes Format mit einer Blockgröße von 5x5 betrachtet.
TexureData.ASTC_6x5Das Farbformat wird als ASTC-komprimiertes Format mit einer Blockgröße von 6x5 betrachtet.
TexureData.ASTC_6x6Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 6x6 betrachtet.
TexureData.ASTC_8x5Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 8×5 betrachtet.
TexureData.ASTC_8x6Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 8×6 betrachtet.
TexureData.ASTC_8x8Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 8x8 betrachtet.
TexureData.ASTC_10x5Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 10×5 betrachtet.
TexureData.ASTC_10x6Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 10x6 betrachtet.
TexureData.ASTC_10x8Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 10×8 betrachtet.
TexureData.ASTC_10x10Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 10×10 betrachtet.
TexureData.ASTC_12x10Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 12×10 betrachtet.
TexureData.ASTC_12x12Das Farbformat wird als komprimiertes ASTC-Format mit einer Blockgröße von 12×12 betrachtet.

Hinweis: Mit Ausnahme von „ TexureData.RGBA8 “ wird nicht jedes Format zur Laufzeit unterstützt, da dies davon abhängt, welches Backend sowie welche Hardware verwendet wird.

Hinweis: „ TexureData.RGBE “ wird intern als „ TexureData.RGBA8 “ dargestellt, bei Verwendung als LightProbe- oder Skybox-Textur jedoch wie beschrieben interpretiert.

Hinweis: Bei Verwendung des Werts ` TexureData.None ` wird der Standardwert von TexureData.RGBA8

hasTransparency : bool

Diese Eigenschaft gibt an, ob die Texturdaten Transparenz aufweisen.

height : int [default: 0]

Diese Eigenschaft enthält die Höhe der Texturdaten in Pixeln.

textureData : ArrayBuffer

Diese Eigenschaft enthält die Texturdaten.

width : int [default: 0]

Diese Eigenschaft enthält die Breite der Texturdaten in Pixeln.

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