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]

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


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