ProceduralTextureData QML Type

Ermöglicht das Erstellen und Besetzen von TextureData aus QML. Mehr...

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

TextureData

Eigenschaften

Detaillierte Beschreibung

ProceduralTextureData ist ein Hilfstyp, der die Erstellung von TextureData aus QML ermöglicht. Die Komponente TextureData ist abstrakt und wird normalerweise in C++ erstellt. Mit ProceduralTextureData ist es möglich, eine 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 Codeschnipsel wird die Funktion generateTextureData verwendet, um ein Schachbrettmuster unter Verwendung der beiden Farben color1 und color2 zu erzeugen. Durch das Füllen eines ArrayBuffers mit den generierten Daten wird die Eigenschaft textureData der TextureData gefüllt.

Eigenschaft Dokumentation

depth : int [default: 0]

Diese Eigenschaft gibt die Tiefe der Texturdaten in Pixeln an. Ein Wert über 0 bedeutet, dass die Textur wie eine 3D-Textur behandelt wird.


format : enumeration [default: TextureData.RGBA8]

Diese Eigenschaft enthält das Format der Texturdaten.

KonstanteBeschreibung
TexureData.NoneDas Farbformat ist nicht definiert
TexureData.RGBA8Das Farbformat wird als 8-Bit-Integer in den R-, G-, B- und Alpha-Kanälen betrachtet.
TexureData.RGBA16FDas Farbformat wird als 16-Bit-Float in den R-, G-, B- und Alphakanälen betrachtet.
TexureData.RGBA32FDas Farbformat wird als 32-Bit-Float in den R-, G-, B- und Alphakanälen betrachtet.
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 als 8-Bit-Ganzzahl im R-Kanal betrachtet.
TexureData.R16Das Farbformat wird als 16-Bit-Ganzzahl im R-Kanal betrachtet.
TexureData.R16FDas Farbformat wird als 16-Bit-Float im R-Kanal betrachtet.
TexureData.R32FDas Farbformat wird als 32-Bit-Float im R-Kanal betrachtet.
TexureData.BC1Das Farbformat gilt als komprimiertes BC1-Format mit R-, G-, B- und Alpha-Kanälen.
TexureData.BC2Das Farbformat gilt als komprimiertes BC2-Format mit R-, G-, B- und Alphakanälen.
TexureData.BC3Das Farbformat gilt als komprimiertes BC3-Format mit R-, G-, B- und Alphakanälen.
TexureData.BC4Das Farbformat gilt als BC4-komprimiertes Format mit einem Farbkanal.
TexureData.BC5Das Farbformat gilt als BC5 komprimiertes Format mit zwei Farbkanälen.
TexureData.BC6HDas Farbformat gilt als BC6H-komprimiertes Format mit drei Farbkanälen mit hohem Dynamikbereich.
TexureData.BC7Das Farbformat gilt als BC7-komprimiertes Format mit R-, G-, B- und Alpha-Kanälen.
TexureData.DXT1_RGBADas Farbformat gilt als DXT1-komprimiertes Format mit R-, G-, B- und Alphakanälen.
TexureData.DXT1_RGBDas Farbformat gilt als DXT1-komprimiertes Format mit R-, G- und B-Kanälen.
TexureData.DXT3_RGBADas Farbformat gilt als DXT3-komprimiertes Format mit R-, G-, B- und Alphakanälen.
TexureData.DXT5_RGBADas Farbformat gilt als DXT5-komprimiertes Format mit R-, G-, B- und Alphakanälen.
TexureData.ETC2_RGB8Das Farbformat gilt als komprimiertes ETC2-Format für RGB888-Daten.
TexureData.ETC2_RGB8A1Das Farbformat wird als ETC2 komprimiertes Format für RGBA-Daten betrachtet, bei denen Alpha 1 Bit ist.
TexureData.ETC2_RGBA8Das Farbformat gilt als ETC2 komprimiertes Format für RGBA8888 Daten.
TexureData.ASTC_4x4Das Farbformat gilt als ASTC-komprimiertes Format mit 4x4-Block-Footprint.
TexureData.ASTC_5x4Das Farbformat wird als ASTC-komprimiertes Format mit 5x4-Block-Footprint betrachtet.
TexureData.ASTC_5x5Das Farbformat wird als ASTC-komprimiertes Format mit 5x5-Block-Footprint betrachtet.
TexureData.ASTC_6x5Das Farbformat wird als ASTC-komprimiertes Format mit 6x5-Block-Footprint betrachtet.
TexureData.ASTC_6x6Das Farbformat wird als ASTC-komprimiertes Format mit 6x6-Block-Footprint betrachtet.
TexureData.ASTC_8x5Das Farbformat wird als ASTC-komprimiertes Format mit 8x5-Block-Footprint betrachtet.
TexureData.ASTC_8x6Das Farbformat wird als ASTC-komprimiertes Format mit 8x6-Block-Footprint betrachtet.
TexureData.ASTC_8x8Das Farbformat wird als ASTC-komprimiertes Format mit 8x8-Block-Footprint betrachtet.
TexureData.ASTC_10x5Das Farbformat wird als ASTC-komprimiertes Format mit 10x5-Block-Footprint betrachtet.
TexureData.ASTC_10x6Das Farbformat wird als ASTC-komprimiertes Format mit 10x6-Block-Footprint betrachtet.
TexureData.ASTC_10x8Das Farbformat wird als ASTC-komprimiertes Format mit 10x8-Block-Footprint betrachtet.
TexureData.ASTC_10x10Das Farbformat wird als ASTC-komprimiertes Format mit 10x10-Block-Footprint betrachtet.
TexureData.ASTC_12x10Das Farbformat gilt als ASTC-komprimiertes Format mit 12x10 Block Footprint.
TexureData.ASTC_12x12Das Farbformat wird als ASTC-komprimiertes Format mit 12x12-Block-Footprint betrachtet.

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

Hinweis: TexureData.RGBE wird intern als TexureData.RGBA8 dargestellt, wird aber wie beschrieben interpretiert, wenn es als lightProbe oder Skybox-Textur verwendet wird.

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


hasTransparency : bool

Diese Eigenschaft gibt an, ob die Texturdaten transparent sind.


height : int [default: 0]

Diese Eigenschaft gibt die Höhe der Texturdaten in Pixeln an.


textureData : ArrayBuffer

Diese Eigenschaft enthält die Texturdaten.


width : int [default: 0]

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


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