ProceduralTextureData QML Type
Ermöglicht das Erstellen und Besetzen von TextureData aus QML. Mehr...
Import Statement: | import QtQuick3D.Helpers |
Since: | Qt 6.6 |
Inherits: |
Eigenschaften
- depth : int
- format : enumeration
- hasTransparency : bool
- height : int
- textureData : ArrayBuffer
- width : int
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 |
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 |
Diese Eigenschaft enthält das Format der Texturdaten.
Konstante | Beschreibung |
---|---|
TexureData.None | Das Farbformat ist nicht definiert |
TexureData.RGBA8 | Das Farbformat wird als 8-Bit-Integer in den R-, G-, B- und Alpha-Kanälen betrachtet. |
TexureData.RGBA16F | Das Farbformat wird als 16-Bit-Float in den R-, G-, B- und Alphakanälen betrachtet. |
TexureData.RGBA32F | Das Farbformat wird als 32-Bit-Float in den R-, G-, B- und Alphakanälen betrachtet. |
TexureData.RGBE8 | Das Farbformat wird als 8-Bit-Mantisse in den R-, G- und B-Kanälen und als gemeinsamer 8-Bit-Exponent betrachtet. |
TexureData.R8 | Das Farbformat wird als 8-Bit-Ganzzahl im R-Kanal betrachtet. |
TexureData.R16 | Das Farbformat wird als 16-Bit-Ganzzahl im R-Kanal betrachtet. |
TexureData.R16F | Das Farbformat wird als 16-Bit-Float im R-Kanal betrachtet. |
TexureData.R32F | Das Farbformat wird als 32-Bit-Float im R-Kanal betrachtet. |
TexureData.BC1 | Das Farbformat gilt als komprimiertes BC1-Format mit R-, G-, B- und Alpha-Kanälen. |
TexureData.BC2 | Das Farbformat gilt als komprimiertes BC2-Format mit R-, G-, B- und Alphakanälen. |
TexureData.BC3 | Das Farbformat gilt als komprimiertes BC3-Format mit R-, G-, B- und Alphakanälen. |
TexureData.BC4 | Das Farbformat gilt als BC4-komprimiertes Format mit einem Farbkanal. |
TexureData.BC5 | Das Farbformat gilt als BC5 komprimiertes Format mit zwei Farbkanälen. |
TexureData.BC6H | Das Farbformat gilt als BC6H-komprimiertes Format mit drei Farbkanälen mit hohem Dynamikbereich. |
TexureData.BC7 | Das Farbformat gilt als BC7-komprimiertes Format mit R-, G-, B- und Alpha-Kanälen. |
TexureData.DXT1_RGBA | Das Farbformat gilt als DXT1-komprimiertes Format mit R-, G-, B- und Alphakanälen. |
TexureData.DXT1_RGB | Das Farbformat gilt als DXT1-komprimiertes Format mit R-, G- und B-Kanälen. |
TexureData.DXT3_RGBA | Das Farbformat gilt als DXT3-komprimiertes Format mit R-, G-, B- und Alphakanälen. |
TexureData.DXT5_RGBA | Das Farbformat gilt als DXT5-komprimiertes Format mit R-, G-, B- und Alphakanälen. |
TexureData.ETC2_RGB8 | Das Farbformat gilt als komprimiertes ETC2-Format für RGB888-Daten. |
TexureData.ETC2_RGB8A1 | Das Farbformat wird als ETC2 komprimiertes Format für RGBA-Daten betrachtet, bei denen Alpha 1 Bit ist. |
TexureData.ETC2_RGBA8 | Das Farbformat gilt als ETC2 komprimiertes Format für RGBA8888 Daten. |
TexureData.ASTC_4x4 | Das Farbformat gilt als ASTC-komprimiertes Format mit 4x4-Block-Footprint. |
TexureData.ASTC_5x4 | Das Farbformat wird als ASTC-komprimiertes Format mit 5x4-Block-Footprint betrachtet. |
TexureData.ASTC_5x5 | Das Farbformat wird als ASTC-komprimiertes Format mit 5x5-Block-Footprint betrachtet. |
TexureData.ASTC_6x5 | Das Farbformat wird als ASTC-komprimiertes Format mit 6x5-Block-Footprint betrachtet. |
TexureData.ASTC_6x6 | Das Farbformat wird als ASTC-komprimiertes Format mit 6x6-Block-Footprint betrachtet. |
TexureData.ASTC_8x5 | Das Farbformat wird als ASTC-komprimiertes Format mit 8x5-Block-Footprint betrachtet. |
TexureData.ASTC_8x6 | Das Farbformat wird als ASTC-komprimiertes Format mit 8x6-Block-Footprint betrachtet. |
TexureData.ASTC_8x8 | Das Farbformat wird als ASTC-komprimiertes Format mit 8x8-Block-Footprint betrachtet. |
TexureData.ASTC_10x5 | Das Farbformat wird als ASTC-komprimiertes Format mit 10x5-Block-Footprint betrachtet. |
TexureData.ASTC_10x6 | Das Farbformat wird als ASTC-komprimiertes Format mit 10x6-Block-Footprint betrachtet. |
TexureData.ASTC_10x8 | Das Farbformat wird als ASTC-komprimiertes Format mit 10x8-Block-Footprint betrachtet. |
TexureData.ASTC_10x10 | Das Farbformat wird als ASTC-komprimiertes Format mit 10x10-Block-Footprint betrachtet. |
TexureData.ASTC_12x10 | Das Farbformat gilt als ASTC-komprimiertes Format mit 12x10 Block Footprint. |
TexureData.ASTC_12x12 | Das 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 |
Diese Eigenschaft gibt die Höhe der Texturdaten in Pixeln an.
textureData : ArrayBuffer |
Diese Eigenschaft enthält die Texturdaten.
width : int |
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.