ProceduralTextureData QML Type
QML からTextureData を作成したり配置したりすることができます。詳細...
Import Statement: | import QtQuick3D.Helpers |
Since: | Qt 6.6 |
Inherits: |
プロパティ
- depth : int
- format : enumeration
- hasTransparency : bool
- height : int
- textureData : ArrayBuffer
- width : int
詳しい説明
ProceduralTextureData は、QML からTextureData を作成するためのヘルパー型です。TextureData コンポーネントは Abstract で、通常は C++ から作成されます。ProceduralTextureData を使えば、QML からTextureData を生成することができます。
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 } }
上のコードでは、関数 generateTextureData を使って、color1 と color2 の2色を使った市松模様を生成しています。生成されたデータを ArrayBuffer に格納することで、TextureData のtextureData プロパティにデータが格納されます。
プロパティの説明
depth : int |
このプロパティは、テクスチャデータの深さをピクセル単位で保持します。深度を0以上に設定すると、テクスチャは3Dテクスチャとして扱われます。
format : enumeration |
このプロパティはテクスチャデータのフォーマットを保持します。
定数 | 説明 |
---|---|
TexureData.None | カラーフォーマットは定義されていません。 |
TexureData.RGBA8 | カラーフォーマットはR,G,B,アルファチャンネルで8ビット整数とみなされます。 |
TexureData.RGBA16F | カラーフォーマットは、R,G,B,アルファチャンネルでは 16 ビット float と見なされます。 |
TexureData.RGBA32F | 色形式は、 R ・ G ・ B ・ alpha チ ャ ン ネルにおいて 32 ビ ッ ト float と 見な さ れます。 |
TexureData.RGBE8 | 色形式は、R,G,B チャネルでは 8 ビ ッ ト の仮数、 8 ビ ッ ト の共有指数 と 見な さ れます。 |
TexureData.R8 | 色形式は、R チャネルでは 8 ビットの整数とみなされる。 |
TexureData.R16 | 色形式は R チャンネルでは 16 ビット整数とみなされる。 |
TexureData.R16F | R チャネルでは 16 ビット float とみなす。 |
TexureData.R32F | 色形式を 32 ビット float R とする。 |
TexureData.BC1 | 色形式は、R、G、B、アルファチャンネルを持つ BC1 圧縮形式とみなされる。 |
TexureData.BC2 | 色形式は、R、G、B、アルファチャンネルを持つ BC2 圧縮形式とみなされる。 |
TexureData.BC3 | カラーフォーマットは、R、G、B、およびアルファチャンネルを持つBC3圧縮フォーマットと見なされます。 |
TexureData.BC4 | カラーフォーマットは、1つのカラーチャンネルを持つBC4圧縮フォーマットとみなされる。 |
TexureData.BC5 | カラーフォーマットは、2 つのカラーチャンネルを持つ BC5 圧縮フォーマットとみなされる。 |
TexureData.BC6H | カラーフォーマットは、3つのハイダイナミックレンジカラーチャンネルを持つBC6H圧縮フォーマットとされる。 |
TexureData.BC7 | カラーフォーマットは、R、G、B、アルファチャンネルを持つ BC7 圧縮フォーマットとみなされる。 |
TexureData.DXT1_RGBA | カラーフォーマットはR、G、B、アルファチャンネルを持つDXT1圧縮フォーマットとみなされる。 |
TexureData.DXT1_RGB | カラーフォーマットはR、G、Bチャンネルを持つDXT1圧縮フォーマットとみなされる。 |
TexureData.DXT3_RGBA | カラーフォーマットはR、G、B、アルファチャンネルを持つDXT3圧縮フォーマットとみなされる。 |
TexureData.DXT5_RGBA | カラーフォーマットは、R、G、B、アルファチャンネルを持つDXT5圧縮フォーマットと見なされます。 |
TexureData.ETC2_RGB8 | カラーフォーマットは、RGB888データのETC2圧縮フォーマットとみなされます。 |
TexureData.ETC2_RGB8A1 | アルファが1ビットのRGBAデータでは、カラーフォーマットはETC2圧縮フォーマットとみなされます。 |
TexureData.ETC2_RGBA8 | カラーフォーマットは、RGBA8888データのETC2圧縮フォーマットとみなされます。 |
TexureData.ASTC_4x4 | カラーフォーマットは4x4ブロックフットプリントのASTC圧縮フォーマットとみなされます。 |
TexureData.ASTC_5x4 | カラーフォーマットは5x4ブロックフットプリントのASTC圧縮フォーマットとみなされます。 |
TexureData.ASTC_5x5 | カラーフォーマットは、5x5 ブロックフットプリントの ASTC 圧縮フォーマットとみなされる。 |
TexureData.ASTC_6x5 | カラーフォーマットは、6x5 ブロックフットプリントの ASTC 圧縮フォーマットとみなされる。 |
TexureData.ASTC_6x6 | カラーフォーマットは、6x6 ブロックフットプリントの ASTC 圧縮フォーマットとみなされます。 |
TexureData.ASTC_8x5 | カラーフォーマットは 8x5 ブロックフットプリントの ASTC 圧縮フォーマットとみなされる。 |
TexureData.ASTC_8x6 | カラーフォーマットは、8x6 ブロックフットプリントの ASTC 圧縮フォーマットとみなされます。 |
TexureData.ASTC_8x8 | カラーフォーマットは、8x8 ブロックフットプリントの ASTC 圧縮フォーマットとみなされます。 |
TexureData.ASTC_10x5 | カラーフォーマットは、10x5 ブロックフットプリントの ASTC 圧縮フォーマットとみなされます。 |
TexureData.ASTC_10x6 | カラーフォーマットは、10x6 ブロックフットプリントの ASTC 圧縮フォーマットとみなされます。 |
TexureData.ASTC_10x8 | カラーフォーマットは、10x8 ブロックフットプリントの ASTC 圧縮フォーマットとみなされます。 |
TexureData.ASTC_10x10 | カラーフォーマットは、10x10 ブロックフットプリントの ASTC 圧縮フォーマットとみなされます。 |
TexureData.ASTC_12x10 | カラーフォーマットは、12x10 ブロックフットプリントの ASTC 圧縮フォーマットとみなされる。 |
TexureData.ASTC_12x12 | カラーフォーマットは、12x12 ブロックフットプリントの ASTC 圧縮フォーマットとみなされます。 |
注: TexureData.RGBA8
を除き、どのバックエンドが使用されているか、またどのハードウェアが使用されているかに依存するため、すべてのフォーマットがランタイムでサポートされているわけではない。
Note: TexureData.RGBE
は、内部的にはTexureData.RGBA8
として表現されますが、lightProbe または skybox テクスチャとして使用される場合は、前述のように解釈されます。
注意: 値TexureData.None
を使用すると、デフォルト値であるTexureData.RGBA8
hasTransparency : bool |
このプロパティは、テクスチャデータに透明性があるかどうかを保持します。
height : int |
このプロパティは、テクスチャデータの高さをピクセル単位で保持します。
textureData : ArrayBuffer |
このプロパティはテクスチャデータを保持します。
width : int |
このプロパティは、ピクセル単位でテクスチャデータの幅を保持します。
© 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.