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 |
このプロパティは、ピクセル単位でテクスチャデータの幅を保持します。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。