이 페이지에서

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라는 두 가지 색상을 사용하여 체커보드 패턴을 생성하는 데 사용됩니다. 생성된 데이터로 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.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색상 형식은 R 채널에서 32비트 부동 소수점으로 간주됩니다.
TexureData.BC1이 색상 형식은 R, G, B 및 알파 채널이 포함된 BC1 압축 형식으로 간주됩니다.
TexureData.BC2색상 형식은 R, G, B 및 알파 채널이 포함된 BC2 압축 형식으로 간주됩니다.
TexureData.BC3색상 형식은 R, G, B 및 알파 채널이 포함된 BC3 압축 형식으로 간주됩니다.
TexureData.BC4색상 형식은 하나의 색상 채널을 가진 BC4 압축 형식으로 간주됩니다.
TexureData.BC5색상 형식은 두 개의 색상 채널을 가진 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) 또는 스카이박스(skybox) 텍스처로 사용될 때는 설명된 대로 해석됩니다.

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