このページでは

ProceduralTextureData QML Type

QMLからTextureData の作成およびデータの設定を可能にします。詳細...

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

TextureData

プロパティ

詳細な説明

ProceduralTextureData は、QML から `TextureData ` を作成できるようにするヘルパー型です。TextureData コンポーネントは抽象クラスであり、通常は 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` を使用して、2つの色 `color1` と `color2` を用いたチェッカーボードパターンを生成しています。生成されたデータを `ArrayBuffer` に格納することで、TextureData の `textureData ` プロパティにデータが設定されます。

プロパティのドキュメント

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 ビットの浮動小数点数とみなされます。
TexureData.RGBA32FR、G、B、およびアルファチャンネルにおいて、カラーフォーマットは 32 ビットの浮動小数点数として扱われます。
TexureData.RGBE8カラー形式は、R、G、B チャンネルで 8 ビットの仮数、8 ビットの共有指数として扱われます。
TexureData.R8R チャンネルでは、カラー形式は 8 ビット整数として扱われます。
TexureData.R16R チャンネルでは、カラーフォーマットは 16 ビット整数とみなされます。
TexureData.R16Fこのカラーフォーマットは、R チャンネルにおいて 16 ビット浮動小数点数とみなされます。
TexureData.R32Fこのカラーフォーマットは、R チャンネルが 32 ビットの浮動小数点数として扱われます。
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このカラーフォーマットは、10×5 ブロックのフットプリントを持つ ASTC 圧縮フォーマットとみなされます。
TexureData.ASTC_10x6このカラーフォーマットは、10x6 ブロックのフットプリントを持つ ASTC 圧縮フォーマットとみなされます。
TexureData.ASTC_10x8このカラーフォーマットは、10×8 ブロックのフットプリントを持つ ASTC 圧縮フォーマットとみなされます。
TexureData.ASTC_10x10このカラーフォーマットは、10x10 ブロックのフットプリントを持つ ASTC 圧縮フォーマットとみなされます。
TexureData.ASTC_12x10このカラーフォーマットは、12x10 ブロックのフットプリントを持つ ASTC 圧縮フォーマットとみなされます。
TexureData.ASTC_12x12このカラーフォーマットは、12x12 ブロックのフットプリントを持つ ASTC 圧縮フォーマットとみなされます。

注: TexureData.RGBA8を除き 、実行時にすべてのフォーマットがサポートされるわけではありません。これは、使用されているバックエンドやハードウェアによって異なるためです。

注: TexureData.RGBE は 内部的にはTexureData.RGBA8 として表現されますが、lightProbeやスカイボックステクスチャとして使用される場合は、前述の通りに解釈されます。

注: TexureData.None という値を使用すると 、デフォルト値としてTexureData.RGBA8

hasTransparency : bool

このプロパティは、テクスチャデータに透明度があるかどうかにかかわらず、その値が保持されます。

height : int [default: 0]

このプロパティには、テクスチャデータの高さ(ピクセル単位)が格納されます。

textureData : ArrayBuffer

このプロパティには、テクスチャデータが格納されています。

width : int [default: 0]

このプロパティには、テクスチャデータの幅(ピクセル単位)が格納されます。

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