ProceduralTextureData QML Type

QML からTextureData の作成と読み込みを可能にします。詳細...

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

TextureData

プロパティ

詳細説明

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 に格納することで、TextureDatatextureData プロパティにデータが格納されます。

プロパティの説明

depth : int [default: 0]

このプロパティは、テクスチャデータの深さをピクセル単位で保持します。深度を0以上に設定すると、テクスチャは3Dテクスチャとして扱われます。


format : enumeration [default: TextureData.RGBA8]

このプロパティはテクスチャデータのフォーマットを保持します。

定数説明
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.R16FR チャネルでは 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 [default: 0]

このプロパティは、テクスチャデータの高さをピクセル単位で保持します。


textureData : ArrayBuffer

このプロパティはテクスチャデータを保持します。


width : int [default: 0]

このプロパティは、ピクセル単位でテクスチャデータの幅を保持します。


©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。