ProceduralTextureData QML Type

QML에서 TextureData 을 생성하고 채울 수 있습니다. 더 보기...

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

TextureData

속성

상세 설명

ProceduralTextureData는 QML에서 TextureData 을 생성할 수 있는 헬퍼 유형입니다. TextureData 컴포넌트는 추상이며 일반적으로 C++에서 생성됩니다. 프로시저럴 텍스처 데이터를 사용하면 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라는 두 가지 색상을 사용하여 바둑판 패턴을 생성하는 데 사용됩니다. 생성된 데이터로 ArrayBuffer를 채우면 TextureDatatextureData 프로퍼티가 채워집니다.

속성 문서

depth : int [default: 0]

이 프로퍼티는 텍스처 데이터의 깊이를 픽셀 단위로 저장합니다. 깊이를 0 이상으로 설정하면 텍스처가 3D 텍스처로 처리됩니다.


format : enumeration [default: TextureData.RGBA8]

이 프로퍼티는 텍스처 데이터의 형식을 보유합니다.

Constant설명
TexureData.None색상 형식이 정의되지 않았습니다.
TexureData.RGBA8색상 형식은 R, G, B 및 알파 채널에서 8비트 정수로 간주됩니다.
TexureData.RGBA16F컬러 포맷은 R,G,B 및 알파 채널에서 16비트 실수로 간주됩니다.
TexureData.RGBA32F색상 형식은 R, G, B 및 알파 채널에서 32비트 부동 소수점으로 간주됩니다.
TexureData.RGBE8색상 형식은 R, G, B 채널에서 8비트 만티사 및 8비트 공유 지수로 간주됩니다.
TexureData.R8색상 형식은 R 채널에서 8비트 정수로 간주됩니다.
TexureData.R16색상 형식은 R 채널에서 16비트 정수로 간주됩니다.
TexureData.R16F색상 형식은 R 채널에서 16비트 부동 소수점으로 간주됩니다.
TexureData.R32F색상 형식은 32비트 플로트 R 채널로 간주됩니다.
TexureData.BC1색상 형식은 R, G, B 및 알파 채널이 있는 BC1 압축 형식으로 간주됩니다.
TexureData.BC2컬러 포맷은 R, G, B 및 알파 채널이 있는 BC2 압축 포맷으로 간주됩니다.
TexureData.BC3컬러 포맷은 R, G, B 및 알파 채널이 있는 BC3 압축 포맷으로 간주됩니다.
TexureData.BC4컬러 포맷은 컬러 채널이 하나인 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 을 제외한 모든 형식이 런타임에 지원되는 것은 아니며, 이는 사용 중인 백엔드 및 사용 중인 하드웨어에 따라 달라집니다.

참고: TexureData.RGBE 는 내부적으로 TexureData.RGBA8 로 표시되지만, lightProbe 또는 스카이박스 텍스처로 사용될 때는 설명된 대로 해석됩니다.

참고: 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.