En esta página

ProceduralTextureData QML Type

Permite crear y poblar TextureData desde QML. Más...

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

TextureData

Propiedades

Descripción detallada

ProceduralTextureData es un tipo helper que permite la creación de TextureData desde QML. El componente TextureData es abstracto, y normalmente se crea a partir de C++. Con ProceduralTextureData, es posible rellenar un TextureData a partir de QML.

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
    }
}

En el fragmento de código anterior, la función generateTextureData se utiliza para generar un patrón de tablero de ajedrez utilizando los dos colores color1 y color2. Rellenando un ArrayBuffer con los datos generados, se rellena la propiedad textureData del TextureData.

Documentación de la propiedad

depth : int [default: 0]

Esta propiedad contiene la profundidad de los datos de la textura en píxeles. Establecer la profundidad por encima de 0 significa que la textura se maneja como una textura 3D.

format : enumeration [default: TextureData.RGBA8]

Esta propiedad contiene el formato de los datos de textura.

ConstanteDescripción
TexureData.NoneEl formato de color no está definido
TexureData.RGBA8El formato de color se considera un entero de 8 bits en los canales R, G, B y alfa.
TexureData.RGBA16FEl formato de color se considera un flotante de 16 bits en los canales R, G, B y alfa.
TexureData.RGBA32FEl formato de color se considera un flotante de 32 bits en los canales R, G, B y alfa.
TexureData.RGBE8El formato de color se considera como mantisa de 8 bits en los canales R, G y B y exponente compartido de 8 bits.
TexureData.R8El formato de color se considera un entero de 8 bits en el canal R.
TexureData.R16El formato de color se considera un entero de 16 bits en el canal R.
TexureData.R16FEl formato de color se considera flotante de 16 bits en el canal R.
TexureData.R32FEl formato de color se considera flotante de 32 bits en el canal R.
TexureData.BC1El formato de color se considera formato comprimido BC1 con los canales R, G, B y alfa.
TexureData.BC2El formato de color se considera formato comprimido BC2 con canales R, G, B y alfa.
TexureData.BC3El formato de color se considera formato comprimido BC3 con canales R, G, B y alfa.
TexureData.BC4El formato de color se considera formato comprimido BC4 con un canal de color.
TexureData.BC5El formato de color se considera formato comprimido BC5 con dos canales de color.
TexureData.BC6HEl formato de color se considera formato comprimido BC6H con tres canales de color de alto rango dinámico.
TexureData.BC7El formato de color se considera formato comprimido BC7 con canales R, G, B y alfa.
TexureData.DXT1_RGBAEl formato de color se considera formato comprimido DXT1 con canales R, G, B y alfa.
TexureData.DXT1_RGBEl formato de color se considera formato comprimido DXT1 con canales R, G y B.
TexureData.DXT3_RGBAEl formato de color se considera formato comprimido DXT3 con canales R, G, B y alfa.
TexureData.DXT5_RGBAEl formato de color se considera formato comprimido DXT5 con canales R, G, B y alfa.
TexureData.ETC2_RGB8El formato de color se considera formato comprimido ETC2 para datos RGB888.
TexureData.ETC2_RGB8A1El formato de color se considera formato comprimido ETC2 para datos RGBA con alfa de 1 bit.
TexureData.ETC2_RGBA8El formato de color se considera formato comprimido ETC2 con datos RGBA8888.
TexureData.ASTC_4x4El formato de color se considera formato comprimido ASTC con huella de bloque 4x4.
TexureData.ASTC_5x4El formato de color se considera un formato comprimido ASTC con una huella de bloque de 5x4.
TexureData.ASTC_5x5El formato de color se considera un formato comprimido ASTC con una huella de bloque de 5x5.
TexureData.ASTC_6x5El formato de color se considera un formato comprimido ASTC con una huella de bloque de 6x5.
TexureData.ASTC_6x6El formato de color se considera un formato comprimido ASTC con una huella de bloque de 6x6.
TexureData.ASTC_8x5El formato de color se considera un formato comprimido ASTC con una huella de bloque de 8x5.
TexureData.ASTC_8x6El formato de color se considera un formato comprimido ASTC con una huella de 8x6 bloques.
TexureData.ASTC_8x8El formato de color se considera un formato comprimido ASTC con una huella de bloque de 8x8.
TexureData.ASTC_10x5El formato de color se considera un formato comprimido ASTC con una huella de 10x5 bloques.
TexureData.ASTC_10x6El formato de color se considera un formato comprimido ASTC con una huella de 10x6 bloques.
TexureData.ASTC_10x8El formato de color se considera un formato comprimido ASTC con una huella de 10x8 bloques.
TexureData.ASTC_10x10El formato de color se considera un formato comprimido ASTC con una huella de 10x10 bloques.
TexureData.ASTC_12x10El formato de color se considera formato comprimido ASTC con una huella de bloque de 12x10.
TexureData.ASTC_12x12El formato de color se considera formato comprimido ASTC con una huella de bloque de 12x12.

Nota: A excepción de TexureData.RGBA8, no todos los formatos son compatibles en tiempo de ejecución, ya que esto depende del backend que se esté utilizando, así como del hardware que se esté utilizando.

Nota: TexureData.RGBE se representa internamente como TexureData.RGBA8 pero se interpreta como se describe cuando se utiliza como una textura lightProbe o skybox.

Nota: Si se utiliza el valor TexureData.None se asumirá el valor por defecto de TexureData.RGBA8

hasTransparency : bool

Esta propiedad indica si los datos de textura tienen transparencia.

height : int [default: 0]

Esta propiedad contiene la altura de los datos de textura en píxeles.

textureData : ArrayBuffer

Esta propiedad contiene los datos de la textura.

width : int [default: 0]

Esta propiedad contiene el ancho de los datos de textura en píxeles.

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