ProceduralTextureData QML Type
Permite crear y poblar TextureData desde QML. Más...
| Import Statement: | import QtQuick3D.Helpers |
| Since: | Qt 6.6 |
| Inherits: |
Propiedades
- depth : int
- format : enumeration
- hasTransparency : bool
- height : int
- textureData : ArrayBuffer
- width : int
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.
| Constante | Descripción |
|---|---|
TexureData.None | El formato de color no está definido |
TexureData.RGBA8 | El formato de color se considera un entero de 8 bits en los canales R, G, B y alfa. |
TexureData.RGBA16F | El formato de color se considera un flotante de 16 bits en los canales R, G, B y alfa. |
TexureData.RGBA32F | El formato de color se considera un flotante de 32 bits en los canales R, G, B y alfa. |
TexureData.RGBE8 | El formato de color se considera como mantisa de 8 bits en los canales R, G y B y exponente compartido de 8 bits. |
TexureData.R8 | El formato de color se considera un entero de 8 bits en el canal R. |
TexureData.R16 | El formato de color se considera un entero de 16 bits en el canal R. |
TexureData.R16F | El formato de color se considera flotante de 16 bits en el canal R. |
TexureData.R32F | El formato de color se considera flotante de 32 bits en el canal R. |
TexureData.BC1 | El formato de color se considera formato comprimido BC1 con los canales R, G, B y alfa. |
TexureData.BC2 | El formato de color se considera formato comprimido BC2 con canales R, G, B y alfa. |
TexureData.BC3 | El formato de color se considera formato comprimido BC3 con canales R, G, B y alfa. |
TexureData.BC4 | El formato de color se considera formato comprimido BC4 con un canal de color. |
TexureData.BC5 | El formato de color se considera formato comprimido BC5 con dos canales de color. |
TexureData.BC6H | El formato de color se considera formato comprimido BC6H con tres canales de color de alto rango dinámico. |
TexureData.BC7 | El formato de color se considera formato comprimido BC7 con canales R, G, B y alfa. |
TexureData.DXT1_RGBA | El formato de color se considera formato comprimido DXT1 con canales R, G, B y alfa. |
TexureData.DXT1_RGB | El formato de color se considera formato comprimido DXT1 con canales R, G y B. |
TexureData.DXT3_RGBA | El formato de color se considera formato comprimido DXT3 con canales R, G, B y alfa. |
TexureData.DXT5_RGBA | El formato de color se considera formato comprimido DXT5 con canales R, G, B y alfa. |
TexureData.ETC2_RGB8 | El formato de color se considera formato comprimido ETC2 para datos RGB888. |
TexureData.ETC2_RGB8A1 | El formato de color se considera formato comprimido ETC2 para datos RGBA con alfa de 1 bit. |
TexureData.ETC2_RGBA8 | El formato de color se considera formato comprimido ETC2 con datos RGBA8888. |
TexureData.ASTC_4x4 | El formato de color se considera formato comprimido ASTC con huella de bloque 4x4. |
TexureData.ASTC_5x4 | El formato de color se considera un formato comprimido ASTC con una huella de bloque de 5x4. |
TexureData.ASTC_5x5 | El formato de color se considera un formato comprimido ASTC con una huella de bloque de 5x5. |
TexureData.ASTC_6x5 | El formato de color se considera un formato comprimido ASTC con una huella de bloque de 6x5. |
TexureData.ASTC_6x6 | El formato de color se considera un formato comprimido ASTC con una huella de bloque de 6x6. |
TexureData.ASTC_8x5 | El formato de color se considera un formato comprimido ASTC con una huella de bloque de 8x5. |
TexureData.ASTC_8x6 | El formato de color se considera un formato comprimido ASTC con una huella de 8x6 bloques. |
TexureData.ASTC_8x8 | El formato de color se considera un formato comprimido ASTC con una huella de bloque de 8x8. |
TexureData.ASTC_10x5 | El formato de color se considera un formato comprimido ASTC con una huella de 10x5 bloques. |
TexureData.ASTC_10x6 | El formato de color se considera un formato comprimido ASTC con una huella de 10x6 bloques. |
TexureData.ASTC_10x8 | El formato de color se considera un formato comprimido ASTC con una huella de 10x8 bloques. |
TexureData.ASTC_10x10 | El formato de color se considera un formato comprimido ASTC con una huella de 10x10 bloques. |
TexureData.ASTC_12x10 | El formato de color se considera formato comprimido ASTC con una huella de bloque de 12x10. |
TexureData.ASTC_12x12 | El 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.