QOpenGLTexture Class
La clase QOpenGLTexture encapsula un objeto de textura OpenGL. Más...
| Header: | #include <QOpenGLTexture> |
Tipos Públicos
| enum | BindingTarget { BindingTarget1D, BindingTarget1DArray, BindingTarget2D, BindingTarget2DArray, BindingTarget3D, …, BindingTargetBuffer } |
| enum | ComparisonFunction { CompareLessEqual, CompareGreaterEqual, CompareLess, CompareGreater, CompareEqual, …, CompareNever } |
| enum | ComparisonMode { CompareRefToTexture, CompareNone } |
| enum | CoordinateDirection { DirectionS, DirectionT, DirectionR } |
| enum | CubeMapFace { CubeMapPositiveX, CubeMapNegativeX, CubeMapPositiveY, CubeMapNegativeY, CubeMapPositiveZ, CubeMapNegativeZ } |
| enum | DepthStencilMode { DepthMode, StencilMode } |
| enum | Feature { ImmutableStorage, ImmutableMultisampleStorage, TextureRectangle, TextureArrays, Texture3D, …, TextureMipMapLevel } |
| flags | Features |
| enum | Filter { Nearest, Linear, NearestMipMapNearest, NearestMipMapLinear, LinearMipMapNearest, LinearMipMapLinear } |
| enum | MipMapGeneration { GenerateMipMaps, DontGenerateMipMaps } |
| enum | PixelFormat { NoSourceFormat, Red, RG, RGB, BGR, …, LuminanceAlpha } |
| enum | PixelType { NoPixelType, Int8, UInt8, Int16, UInt16, …, Float32_D32_UInt32_S8_X24 } |
| enum | SwizzleComponent { SwizzleRed, SwizzleGreen, SwizzleBlue, SwizzleAlpha } |
| enum | SwizzleValue { RedValue, GreenValue, BlueValue, AlphaValue, ZeroValue, OneValue } |
| enum | Target { Target1D, Target1DArray, Target2D, Target2DArray, Target3D, …, TargetBuffer } |
| enum | TextureFormat { NoFormat, R8_UNorm, RG8_UNorm, RGB8_UNorm, RGBA8_UNorm, …, LuminanceAlphaFormat } |
| enum | TextureUnitReset { ResetTextureUnit, DontResetTextureUnit } |
| enum | WrapMode { Repeat, MirroredRepeat, ClampToEdge, ClampToBorder } |
Funciones Públicas
| QOpenGLTexture(QOpenGLTexture::Target target) | |
| QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps) | |
| void | allocateStorage() |
| void | allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType) |
| void | bind() |
| void | bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit) |
| QColor | borderColor() const |
| void | borderColor(float *border) const |
| void | borderColor(int *border) const |
| void | borderColor(unsigned int *border) const |
| QOpenGLTexture::ComparisonFunction | comparisonFunction() const |
| QOpenGLTexture::ComparisonMode | comparisonMode() const |
| bool | create() |
| QOpenGLTexture * | createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const |
| int | depth() const |
| QOpenGLTexture::DepthStencilMode | depthStencilMode() const |
| void | destroy() |
| int | faces() const |
| QOpenGLTexture::TextureFormat | format() const |
| void | generateMipMaps() |
| void | generateMipMaps(int baseLevel, bool resetBaseLevel = true) |
| int | height() const |
| bool | isAutoMipMapGenerationEnabled() const |
| bool | isBound() const |
| bool | isBound(uint unit) |
| bool | isCreated() const |
| bool | isFixedSamplePositions() const |
| bool | isStorageAllocated() const |
| bool | isTextureView() const |
| int | layers() const |
| std::pair<float, float> | levelOfDetailRange() const |
| float | levelofDetailBias() const |
| QOpenGLTexture::Filter | magnificationFilter() const |
| float | maximumAnisotropy() const |
| float | maximumLevelOfDetail() const |
| int | maximumMipLevels() const |
| std::pair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> | minMagFilters() const |
| QOpenGLTexture::Filter | minificationFilter() const |
| float | minimumLevelOfDetail() const |
| int | mipBaseLevel() const |
| std::pair<int, int> | mipLevelRange() const |
| int | mipLevels() const |
| int | mipMaxLevel() const |
| void | release() |
| void | release(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit) |
| int | samples() const |
| void | setAutoMipMapGenerationEnabled(bool enabled) |
| void | setBorderColor(const QColor &color) |
| void | setBorderColor(float r, float g, float b, float a) |
| void | setBorderColor(int r, int g, int b, int a) |
| void | setBorderColor(uint r, uint g, uint b, uint a) |
| void | setComparisonFunction(QOpenGLTexture::ComparisonFunction function) |
| void | setComparisonMode(QOpenGLTexture::ComparisonMode mode) |
| void | setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps) |
| void | setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, int layerCount, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode) |
| void | setFixedSamplePositions(bool fixed) |
| void | setFormat(QOpenGLTexture::TextureFormat format) |
| void | setLayers(int layers) |
| void | setLevelOfDetailRange(float min, float max) |
| void | setLevelofDetailBias(float bias) |
| void | setMagnificationFilter(QOpenGLTexture::Filter filter) |
| void | setMaximumAnisotropy(float anisotropy) |
| void | setMaximumLevelOfDetail(float value) |
| void | setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter) |
| void | setMinificationFilter(QOpenGLTexture::Filter filter) |
| void | setMinimumLevelOfDetail(float value) |
| void | setMipBaseLevel(int baseLevel) |
| void | setMipLevelRange(int baseLevel, int maxLevel) |
| void | setMipLevels(int levels) |
| void | setMipMaxLevel(int maxLevel) |
| void | setSamples(int samples) |
| void | setSize(int width, int height = 1, int depth = 1) |
| void | setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value) |
| void | setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a) |
| void | setWrapMode(QOpenGLTexture::WrapMode mode) |
| void | setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode) |
| QOpenGLTexture::SwizzleValue | swizzleMask(QOpenGLTexture::SwizzleComponent component) const |
| QOpenGLTexture::Target | target() const |
| GLuint | textureId() const |
| int | width() const |
| QOpenGLTexture::WrapMode | wrapMode(QOpenGLTexture::CoordinateDirection direction) const |
Miembros Públicos Estáticos
| GLuint | boundTextureId(QOpenGLTexture::BindingTarget target) |
| GLuint | boundTextureId(uint unit, QOpenGLTexture::BindingTarget target) |
| bool | hasFeature(QOpenGLTexture::Feature feature) |
Descripción Detallada
QOpenGLTexture facilita el trabajo con texturas OpenGL y la miríada de características y objetivos que ofrecen dependiendo de las capacidades de tu implementación OpenGL.
El patron de uso tipico de QOpenGLTexture es
- Instanciar el objeto especificando el tipo de textura objetivo
- Establecer las propiedades que afectan a los requisitos de almacenamiento, por ejemplo, formato de almacenamiento, dimensiones
- Asignar el almacenamiento del lado del servidor
- Opcionalmente cargar los datos de píxeles
- Opcionalmente, establecer cualquier propiedad adicional, por ejemplo, opciones de filtrado y bordes.
- Renderizar con textura o renderizar a textura
En el caso común de utilizar simplemente un QImage como fuente de datos de píxeles de textura, la mayoría de los pasos anteriores se realizan automáticamente.
// Prepare texture QOpenGLTexture *texture = new QOpenGLTexture(QImage(fileName).flipped()); texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear); texture->setMagnificationFilter(QOpenGLTexture::Linear); ... // Render with texture texture->bind(); glDrawArrays(...);
Tenga en cuenta que QImage está invertido verticalmente para tener en cuenta el hecho de que OpenGL y QImage utilizan direcciones opuestas para el eje y. Otra opción sería transformar las coordenadas de tu textura.
Documentación de tipos de miembros
enum QOpenGLTexture::BindingTarget
Este enum define los posibles objetivos de vinculación de las unidades de textura.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::BindingTarget1D | 0x8068 | Equivale a GL_TEXTURE_BINDING_1D |
QOpenGLTexture::BindingTarget1DArray | 0x8C1C | Equivale a GL_TEXTURE_BINDING_1D_ARRAY |
QOpenGLTexture::BindingTarget2D | 0x8069 | Equivale a GL_TEXTURE_BINDING_2D |
QOpenGLTexture::BindingTarget2DArray | 0x8C1D | Equivale a GL_TEXTURE_BINDING_2D_ARRAY |
QOpenGLTexture::BindingTarget3D | 0x806A | Equivale a GL_TEXTURE_BINDING_3D |
QOpenGLTexture::BindingTargetCubeMap | 0x8514 | Equivale a GL_TEXTURE_BINDING_CUBE_MAP |
QOpenGLTexture::BindingTargetCubeMapArray | 0x900A | Equivale a GL_TEXTURE_BINDING_CUBE_MAP_ARRAY |
QOpenGLTexture::BindingTarget2DMultisample | 0x9104 | Equivale a GL_TEXTURE_BINDING_2D_MULTISAMPLE |
QOpenGLTexture::BindingTarget2DMultisampleArray | 0x9105 | Equivale a GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::BindingTargetRectangle | 0x84F6 | Equivale a GL_TEXTURE_BINDING_RECTANGLE |
QOpenGLTexture::BindingTargetBuffer | 0x8C2C | Equivale a GL_TEXTURE_BINDING_BUFFER |
enum QOpenGLTexture::ComparisonFunction
Este enum especifica qué operador de comparación se utiliza cuando la comparación de texturas está activada en esta textura.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::CompareLessEqual | 0x0203 | Equivale a GL_LEQUAL. |
QOpenGLTexture::CompareGreaterEqual | 0x0206 | Equivale a GL_GEQUAL. |
QOpenGLTexture::CompareLess | 0x0201 | Equivale a GL_LESS. |
QOpenGLTexture::CompareGreater | 0x0204 | Equivale a GL_GREATER. |
QOpenGLTexture::CompareEqual | 0x0202 | Equivale a GL_EQUAL. |
QOpenGLTexture::CompareNotEqual | 0x0205 | Equivale a GL_NOTEQUAL. |
QOpenGLTexture::CompareAlways | 0x0207 | Equivale a GL_ALWAYS. |
QOpenGLTexture::CompareNever | 0x0200 | Equivale a GL_NEVER. |
enum QOpenGLTexture::ComparisonMode
Este enum especifica qué modo de comparación se utiliza al muestrear esta textura.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::CompareRefToTexture | 0x884E | Equivale a GL_COMPARE_REF_TO_TEXTURE. |
QOpenGLTexture::CompareNone | 0x0000 | Equivale a GL_NONE. |
enum QOpenGLTexture::CoordinateDirection
Este enum define las posibles direcciones de las coordenadas de la textura
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::DirectionS | 0x2802 | La dirección horizontal. Equivale a GL_TEXTURE_WRAP_S |
QOpenGLTexture::DirectionT | 0x2803 | Dirección vertical. Equivale a GL_TEXTURE_WRAP_T |
QOpenGLTexture::DirectionR | 0x8072 | Dirección de profundidad. Equivale a GL_TEXTURE_WRAP_R |
enum QOpenGLTexture::CubeMapFace
Este enum define las posibles caras de CubeMap.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::CubeMapPositiveX | 0x8515 | Equivale a GL_TEXTURE_CUBE_MAP_POSITIVE_X |
QOpenGLTexture::CubeMapNegativeX | 0x8516 | Equivale a GL_TEXTURE_CUBE_MAP_NEGATIVE_X |
QOpenGLTexture::CubeMapPositiveY | 0x8517 | Equivale a GL_TEXTURE_CUBE_MAP_POSITIVE_Y |
QOpenGLTexture::CubeMapNegativeY | 0x8518 | Equivale a GL_TEXTURE_CUBE_MAP_NEGATIVE_Y |
QOpenGLTexture::CubeMapPositiveZ | 0x8519 | Equivale a GL_TEXTURE_CUBE_MAP_POSITIVE_Z |
QOpenGLTexture::CubeMapNegativeZ | 0x851A | Equivale a GL_TEXTURE_CUBE_MAP_NEGATIVE_Z |
enum QOpenGLTexture::DepthStencilMode
Este enum especifica a qué componente de una textura de profundidad/esténcil se accede cuando se muestrea la textura.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::DepthMode | 0x1902 | Equivale a GL_DEPTH_COMPONENT. |
QOpenGLTexture::StencilMode | 0x1901 | Equivale a GL_STENCIL_INDEX. |
enum QOpenGLTexture::Feature
flags QOpenGLTexture::Features
Este enum define las características relacionadas con la textura OpenGL que pueden ser testeadas.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::ImmutableStorage | 0x00000001 | Soporte para almacenamiento inmutable de texturas |
QOpenGLTexture::ImmutableMultisampleStorage | 0x00000002 | Soporte para almacenamiento de texturas inmutables con objetivos multimuestra |
QOpenGLTexture::TextureRectangle | 0x00000004 | Soporte para el objetivo GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TextureArrays | 0x00000008 | Compatibilidad con objetivos de textura con capas de matriz |
QOpenGLTexture::Texture3D | 0x00000010 | Compatibilidad con el objetivo de textura tridimensional |
QOpenGLTexture::TextureMultisample | 0x00000020 | Compatibilidad con destinos de texturas con capacidad multimuestra |
QOpenGLTexture::TextureBuffer | 0x00000040 | Compatibilidad con texturas que utilizan objetos de búfer OpenGL como fuente de datos |
QOpenGLTexture::TextureCubeMapArrays | 0x00000080 | Compatibilidad con destino de textura de matriz de mapa cúbico |
QOpenGLTexture::Swizzle | 0x00000100 | Compatibilidad con máscaras swizzle de componentes de textura |
QOpenGLTexture::StencilTexturing | 0x00000200 | Compatibilidad con texturas stencil (es decir, búsqueda de componentes de profundidad o stencil de una textura combinada de formato de profundidad/stencil en sombreadores GLSL). |
QOpenGLTexture::AnisotropicFiltering | 0x00000400 | Soporte para el filtrado anisotrópico de texturas. |
QOpenGLTexture::NPOTTextures | 0x00000800 | Soporte básico de texturas sin potencia de dos. |
QOpenGLTexture::NPOTTextureRepeat | 0x00001000 | Compatibilidad total con texturas sin potencia de dos, incluidos los modos de repetición de texturas |
QOpenGLTexture::Texture1D | 0x00002000 | Compatibilidad con el objetivo de textura unidimensional |
QOpenGLTexture::TextureComparisonOperators | 0x00004000 | Soporte para operadores de comparación de texturas |
QOpenGLTexture::TextureMipMapLevel | 0x00008000 | Soporte para establecer los niveles base y máximo del mipmap |
El tipo Features es un typedef para QFlags<Feature>. Almacena una combinación OR de valores de Feature.
enum QOpenGLTexture::Filter
Este enum define los parámetros de filtrado de un objeto QOpenGLTexture.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::Nearest | 0x2600 | Equivale a GL_NEAREST |
QOpenGLTexture::Linear | 0x2601 | Equivale a GL_LINEAR |
QOpenGLTexture::NearestMipMapNearest | 0x2700 | Equivale a GL_NEAREST_MIPMAP_NEAREST |
QOpenGLTexture::NearestMipMapLinear | 0x2702 | Equivalente a GL_NEAREST_MIPMAP_LINEAR |
QOpenGLTexture::LinearMipMapNearest | 0x2701 | Equivalente a GL_LINEAR_MIPMAP_NEAREST |
QOpenGLTexture::LinearMipMapLinear | 0x2703 | Equivalente a GL_LINEAR_MIPMAP_LINEAR |
enum QOpenGLTexture::MipMapGeneration
Este enum define las opciones para controlar la generación de mipmaps.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::GenerateMipMaps | 0 | Se deben generar mipmaps |
QOpenGLTexture::DontGenerateMipMaps | 1 | No se deben generar mipmaps |
enum QOpenGLTexture::PixelFormat
Este enum define los posibles formatos de píxel del lado del cliente para una operación de transferencia de píxeles.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::NoSourceFormat | 0 | Equivale a GL_NONE |
QOpenGLTexture::Red | 0x1903 | Equivale a GL_RED |
QOpenGLTexture::RG | 0x8227 | Equivalente a GL_RG |
QOpenGLTexture::RGB | 0x1907 | Equivalente a GL_RGB |
QOpenGLTexture::BGR | 0x80E0 | Equivalente a GL_BGR |
QOpenGLTexture::RGBA | 0x1908 | Equivalente a GL_RGBA |
QOpenGLTexture::BGRA | 0x80E1 | Equivalente a GL_BGRA |
QOpenGLTexture::Red_Integer | 0x8D94 | Equivalente a GL_RED_INTEGER |
QOpenGLTexture::RG_Integer | 0x8228 | Equivalente a GL_RG_INTEGER |
QOpenGLTexture::RGB_Integer | 0x8D98 | Equivalente a GL_RGB_INTEGER |
QOpenGLTexture::BGR_Integer | 0x8D9A | Equivalente a GL_BGR_INTEGER |
QOpenGLTexture::RGBA_Integer | 0x8D99 | Equivalente a GL_RGBA_INTEGER |
QOpenGLTexture::BGRA_Integer | 0x8D9B | Equivalente a GL_BGRA_INTEGER |
QOpenGLTexture::Stencil | 0x1901 | Equivalente a GL_STENCIL_INDEX. Introducido en Qt 5.4 |
QOpenGLTexture::Depth | 0x1902 | Equivale a GL_DEPTH_COMPONENT |
QOpenGLTexture::DepthStencil | 0x84F9 | Equivale a GL_DEPTH_STENCIL |
QOpenGLTexture::Alpha | 0x1906 | Equivale a GL_ALPHA (sólo OpenGL ES 2) |
QOpenGLTexture::Luminance | 0x1909 | Equivale a GL_LUMINANCE (sólo OpenGL ES 2) |
QOpenGLTexture::LuminanceAlpha | 0x190A | Equivale a GL_LUMINANCE_ALPHA (sólo OpenGL ES 2) |
enum QOpenGLTexture::PixelType
Este enum define los posibles tipos de datos de píxeles para una operación de transferencia de píxeles
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::NoPixelType | 0 | Equivale a GL_NONE |
QOpenGLTexture::Int8 | 0x1400 | Equivale a GL_BYTE |
QOpenGLTexture::UInt8 | 0x1401 | Equivale a GL_UNSIGNED_BYTE |
QOpenGLTexture::Int16 | 0x1402 | Equivale a GL_SHORT |
QOpenGLTexture::UInt16 | 0x1403 | Equivale a GL_UNSIGNED_SHORT |
QOpenGLTexture::Int32 | 0x1404 | Equivalente a GL_INT |
QOpenGLTexture::UInt32 | 0x1405 | Equivalente a GL_UNSIGNED_INT |
QOpenGLTexture::Float16 | 0x140B | Equivalente a GL_HALF_FLOAT |
QOpenGLTexture::Float16OES | 0x8D61 | Equivalente a GL_HALF_FLOAT_OES |
QOpenGLTexture::Float32 | 0x1406 | Equivalente a GL_FLOAT |
QOpenGLTexture::UInt32_RGB9_E5 | 0x8C3E | Equivalente a GL_UNSIGNED_INT_5_9_9_REV |
QOpenGLTexture::UInt32_RG11B10F | 0x8C3B | Equivale a GL_UNSIGNED_INT_10F_11F_11F_REV |
QOpenGLTexture::UInt8_RG3B2 | 0x8032 | Equivale a GL_UNSIGNED_BYTE_3_3_2 |
QOpenGLTexture::UInt8_RG3B2_Rev | 0x8362 | Equivale a GL_UNSIGNED_BYTE_2_3_3_REV |
QOpenGLTexture::UInt16_RGB5A1 | 0x8034 | Equivale a GL_UNSIGNED_SHORT_5_5_5_1 |
QOpenGLTexture::UInt16_RGB5A1_Rev | 0x8366 | Equivale a GL_UNSIGNED_SHORT_1_5_5_5_REV |
QOpenGLTexture::UInt16_R5G6B5 | 0x8363 | Equivale a GL_UNSIGNED_SHORT_5_6_5 |
QOpenGLTexture::UInt16_R5G6B5_Rev | 0x8364 | Equivale a GL_UNSIGNED_SHORT_5_6_5_REV |
QOpenGLTexture::UInt16_RGBA4 | 0x8033 | Equivalente a GL_UNSIGNED_SHORT_4_4_4 |
QOpenGLTexture::UInt16_RGBA4_Rev | 0x8365 | Equivale a GL_UNSIGNED_SHORT_4_4_4_REV |
QOpenGLTexture::UInt32_RGBA8 | 0x8035 | Equivale a GL_UNSIGNED_INT_8_8_8_8 |
QOpenGLTexture::UInt32_RGBA8_Rev | 0x8367 | Equivale a GL_UNSIGNED_INT_8_8_8_REV |
QOpenGLTexture::UInt32_RGB10A2 | 0x8036 | Equivalente a GL_UNSIGNED_INT_10_10_2 |
QOpenGLTexture::UInt32_RGB10A2_Rev | 0x8368 | Equivale a GL_UNSIGNED_INT_2_10_10_REV |
QOpenGLTexture::UInt32_D24S8 | 0x84FA | Equivalente a GL_UNSIGNED_INT_24_8. Introducido en Qt 5.4 |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 | 0x8DAD | Equivale a GL_FLOAT_32_UNSIGNED_INT_24_8_REV. Introducido en Qt 5.4 |
enum QOpenGLTexture::SwizzleComponent
Este enum define los componentes de color de la textura a los que se puede asignar una máscara swizzle.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::SwizzleRed | 0x8E42 | El componente rojo. Equivale a GL_TEXTURE_SWIZZLE_R |
QOpenGLTexture::SwizzleGreen | 0x8E43 | Componente verde. Equivale a GL_TEXTURE_SWIZZLE_G |
QOpenGLTexture::SwizzleBlue | 0x8E44 | Componente azul. Equivale a GL_TEXTURE_SWIZZLE_B |
QOpenGLTexture::SwizzleAlpha | 0x8E45 | Componente alfa. Equivale a GL_TEXTURE_SWIZZLE_A |
enum QOpenGLTexture::SwizzleValue
Este enum define los posibles valores de máscara para la textura swizzling.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::RedValue | 0x1903 | Mapea el componente al canal rojo. Equivale a GL_RED |
QOpenGLTexture::GreenValue | 0x1904 | Asigna el componente al canal verde. Equivale a GL_GREEN |
QOpenGLTexture::BlueValue | 0x1905 | Asigna el componente al canal azul. Equivale a GL_BLUE |
QOpenGLTexture::AlphaValue | 0x1906 | Asigna el componente al canal alfa. Equivale a GL_ALPHA |
QOpenGLTexture::ZeroValue | 0 | Asigna al componente un valor fijo de 0. Equivale a GL_ZERO |
QOpenGLTexture::OneValue | 1 | Asigna el componente a un valor fijo de 1. Equivale a GL_ONE |
enum QOpenGLTexture::Target
Este enum define la textura objetivo de un objeto QOpenGLTexture. Para obtener más información sobre la creación de texturas de matriz, consulte Textura de matriz.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::Target1D | 0x0DE0 | Una textura unidimensional. Equivale a GL_TEXTURE_1D. |
QOpenGLTexture::Target1DArray | 0x8C18 | Una matriz de texturas unidimensionales. Equivale a GL_TEXTURE_1D_ARRAY |
QOpenGLTexture::Target2D | 0x0DE1 | Una textura bidimensional. Equivale a GL_TEXTURE_2D |
QOpenGLTexture::Target2DArray | 0x8C1A | Matriz de texturas bidimensionales. Equivale a GL_TEXTURE_2D_ARRAY |
QOpenGLTexture::Target3D | 0x806F | Una textura tridimensional. Equivale a GL_TEXTURE_3D |
QOpenGLTexture::TargetCubeMap | 0x8513 | Una textura cubemap. Equivale a GL_TEXTURE_CUBE_MAP |
QOpenGLTexture::TargetCubeMapArray | 0x9009 | Una matriz de texturas cubemap. Equivale a GL_TEXTURE_CUBE_MAP_ARRAY |
QOpenGLTexture::Target2DMultisample | 0x9100 | Textura bidimensional con soporte multimuestra. Equivale a GL_TEXTURE_2D_MULTISAMPLE |
QOpenGLTexture::Target2DMultisampleArray | 0x9102 | Matriz de texturas bidimensionales con soporte multimuestra. Equivale a GL_TEXTURE_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::TargetRectangle | 0x84F5 | Una textura bidimensional rectangular. Equivale a GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TargetBuffer | 0x8C2A | Una textura con datos de un objeto buffer OpenGL. Equivale a GL_TEXTURE_BUFFER |
enum QOpenGLTexture::TextureFormat
Este enum define los posibles formatos de textura. Dependiendo de la implementación de OpenGL, sólo un subconjunto de estos formatos puede ser soportado.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::NoFormat | 0 | Equivale a GL_NONE |
QOpenGLTexture::R8_UNorm | 0x8229 | Equivale a GL_R8 |
QOpenGLTexture::RG8_UNorm | 0x822B | Equivalente a GL_RG8 |
QOpenGLTexture::RGB8_UNorm | 0x8051 | Equivalente a GL_RGB8 |
QOpenGLTexture::RGBA8_UNorm | 0x8058 | Equivalente a GL_RGBA8 |
QOpenGLTexture::R16_UNorm | 0x822A | Equivalente a GL_R16 |
QOpenGLTexture::RG16_UNorm | 0x822C | Equivalente a GL_RG16 |
QOpenGLTexture::RGB16_UNorm | 0x8054 | Equivalente a GL_RGB16 |
QOpenGLTexture::RGBA16_UNorm | 0x805B | Equivalente a GL_RGBA16 |
QOpenGLTexture::R8_SNorm | 0x8F94 | Equivalente a GL_R8_SNORM |
QOpenGLTexture::RG8_SNorm | 0x8F95 | Equivalente a GL_RG8_SNORM |
QOpenGLTexture::RGB8_SNorm | 0x8F96 | Equivalente a GL_RGB8_SNORM |
QOpenGLTexture::RGBA8_SNorm | 0x8F97 | Equivalente a GL_RGBA8_SNORM |
QOpenGLTexture::R16_SNorm | 0x8F98 | Equivalente a GL_R16_SNORM |
QOpenGLTexture::RG16_SNorm | 0x8F99 | Equivalente a GL_RG16_SNORM |
QOpenGLTexture::RGB16_SNorm | 0x8F9A | Equivalente a GL_RGB16_SNORM |
QOpenGLTexture::RGBA16_SNorm | 0x8F9B | Equivalente a GL_RGBA16_SNORM |
QOpenGLTexture::R8U | 0x8232 | Equivalente a GL_R8UI |
QOpenGLTexture::RG8U | 0x8238 | Equivalente a GL_RG8UI |
QOpenGLTexture::RGB8U | 0x8D7D | Equivalente a GL_RGB8UI |
QOpenGLTexture::RGBA8U | 0x8D7C | Equivalente a GL_RGBA8UI |
QOpenGLTexture::R16U | 0x8234 | Equivalente a GL_R16UI |
QOpenGLTexture::RG16U | 0x823A | Equivalente a GL_RG16UI |
QOpenGLTexture::RGB16U | 0x8D77 | Equivalente a GL_RGB16UI |
QOpenGLTexture::RGBA16U | 0x8D76 | Equivalente a GL_RGBA16UI |
QOpenGLTexture::R32U | 0x8236 | Equivalente a GL_R32UI |
QOpenGLTexture::RG32U | 0x823C | Equivalente a GL_RG32UI |
QOpenGLTexture::RGB32U | 0x8D71 | Equivalente a GL_RGB32UI |
QOpenGLTexture::RGBA32U | 0x8D70 | Equivalente a GL_RGBA32UI |
QOpenGLTexture::R8I | 0x8231 | Equivalente a GL_R8I |
QOpenGLTexture::RG8I | 0x8237 | Equivalente a GL_RG8I |
QOpenGLTexture::RGB8I | 0x8D8F | Equivalente a GL_RGB8I |
QOpenGLTexture::RGBA8I | 0x8D8E | Equivalente a GL_RGBA8I |
QOpenGLTexture::R16I | 0x8233 | Equivalente a GL_R16I |
QOpenGLTexture::RG16I | 0x8239 | Equivalente a GL_RG16I |
QOpenGLTexture::RGB16I | 0x8D89 | Equivalente a GL_RGB16I |
QOpenGLTexture::RGBA16I | 0x8D88 | Equivalente a GL_RGBA16I |
QOpenGLTexture::R32I | 0x8235 | Equivalente a GL_R32I |
QOpenGLTexture::RG32I | 0x823B | Equivalente a GL_RG32I |
QOpenGLTexture::RGB32I | 0x8D83 | Equivalente a GL_RGB32I |
QOpenGLTexture::RGBA32I | 0x8D82 | Equivalente a GL_RGBA32I |
QOpenGLTexture::R16F | 0x822D | Equivalente a GL_R16F |
QOpenGLTexture::RG16F | 0x822F | Equivalente a GL_RG16F |
QOpenGLTexture::RGB16F | 0x881B | Equivalente a GL_RGB16F |
QOpenGLTexture::RGBA16F | 0x881A | Equivalente a GL_RGBA16F |
QOpenGLTexture::R32F | 0x822E | Equivalente a GL_R32F |
QOpenGLTexture::RG32F | 0x8230 | Equivalente a GL_RG32F |
QOpenGLTexture::RGB32F | 0x8815 | Equivalente a GL_RGB32F |
QOpenGLTexture::RGBA32F | 0x8814 | Equivalente a GL_RGBA32F |
QOpenGLTexture::RGB9E5 | 0x8C3D | Equivalente a GL_RGB9_E5 |
QOpenGLTexture::RG11B10F | 0x8C3A | Equivalente a GL_R11F_G11F_B10F |
QOpenGLTexture::RG3B2 | 0x2A10 | Equivalente a GL_R3_G3_B2 |
QOpenGLTexture::R5G6B5 | 0x8D62 | Equivalente a GL_RGB565 |
QOpenGLTexture::RGB5A1 | 0x8057 | Equivalente a GL_RGB5_A1 |
QOpenGLTexture::RGBA4 | 0x8056 | Equivalente a GL_RGBA4 |
QOpenGLTexture::RGB10A2 | 0x906F | Equivalente a GL_RGB10_A2UI |
QOpenGLTexture::D16 | 0x81A5 | Equivale a GL_DEPTH_COMPONENT16 |
QOpenGLTexture::D24 | 0x81A6 | Equivalente a GL_DEPTH_COMPONENT24 |
QOpenGLTexture::D24S8 | 0x88F0 | Equivale a GL_DEPTH24_STENCIL8 |
QOpenGLTexture::D32 | 0x81A7 | Equivalente a GL_DEPTH_COMPONENT32 |
QOpenGLTexture::D32F | 0x8CAC | Equivale a GL_DEPTH_COMPONENT32F |
QOpenGLTexture::D32FS8X24 | 0x8CAD | Equivale a GL_DEPTH32F_STENCIL8 |
QOpenGLTexture::S8 | 0x8D48 | Equivale a GL_STENCIL_INDEX8. Introducido en Qt 5.4 |
QOpenGLTexture::RGB_DXT1 | 0x83F0 | Equivale a GL_COMPRESSED_RGB_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT1 | 0x83F1 | Equivale a GL_COMPRESSED_RGBA_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT3 | 0x83F2 | Equivale a GL_COMPRESSED_RGBA_S3TC_DXT3_EXT |
QOpenGLTexture::RGBA_DXT5 | 0x83F3 | Equivale a GL_COMPRESSED_RGBA_S3TC_DXT5_EXT |
QOpenGLTexture::R_ATI1N_UNorm | 0x8DBB | Equivale a GL_COMPRESSED_RED_RGTC1 |
QOpenGLTexture::R_ATI1N_SNorm | 0x8DBC | Equivale a GL_COMPRESSED_SIGNED_RED_RGTC1 |
QOpenGLTexture::RG_ATI2N_UNorm | 0x8DBD | Equivale a GL_COMPRESSED_RG_RGTC2 |
QOpenGLTexture::RG_ATI2N_SNorm | 0x8DBE | Equivale a GL_COMPRESSED_SIGNED_RG_RGTC2 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT | 0x8E8F | Equivale a GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT | 0x8E8E | Equivale a GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_UNorm | 0x8E8C | Equivale a GL_COMPRESSED_RGBA_BPTC_UNORM_ARB |
QOpenGLTexture::R11_EAC_UNorm | 0x9270 | Equivale a GL_COMPRESSED_R11_EAC |
QOpenGLTexture::R11_EAC_SNorm | 0x9271 | Equivale a GL_COMPRESSED_SIGNED_R11_EAC |
QOpenGLTexture::RG11_EAC_UNorm | 0x9272 | Equivale a GL_COMPRESSED_RG11_EAC |
QOpenGLTexture::RG11_EAC_SNorm | 0x9273 | Equivale a GL_COMPRESSED_SIGNED_RG11_EAC |
QOpenGLTexture::RGB8_ETC2 | 0x9274 | Equivale a GL_COMPRESSED_RGB8_ETC2 |
QOpenGLTexture::SRGB8_ETC2 | 0x9275 | Equivale a GL_COMPRESSED_SRGB8_ETC2 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 | 0x9276 | Equivale a GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 | 0x9277 | Equivale a GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::RGBA8_ETC2_EAC | 0x9278 | Equivale a GL_COMPRESSED_RGBA8_ETC2_EAC |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC | 0x9279 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC |
QOpenGLTexture::RGB8_ETC1 | 0x8D64 | Equivale a GL_ETC1_RGB8_OES |
QOpenGLTexture::RGBA_ASTC_4x4 | 0x93B0 | Equivale a GL_COMPRESSED_RGBA_ASTC_4x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x4 | 0x93B1 | Equivale a GL_COMPRESSED_RGBA_ASTC_5x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x5 | 0x93B2 | Equivale a GL_COMPRESSED_RGBA_ASTC_5x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x5 | 0x93B3 | Equivale a GL_COMPRESSED_RGBA_ASTC_6x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x6 | 0x93B4 | Equivale a GL_COMPRESSED_RGBA_ASTC_6x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x5 | 0x93B5 | Equivale a GL_COMPRESSED_RGBA_ASTC_8x5_KHR |
QOpenGLTexture::RGBA_ASTC_8x6 | 0x93B6 | Equivale a GL_COMPRESSED_RGBA_ASTC_8x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x8 | 0x93B7 | Equivale a GL_COMPRESSED_RGBA_ASTC_8x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x5 | 0x93B8 | Equivale a GL_COMPRESSED_RGBA_ASTC_10x5_KHR |
QOpenGLTexture::RGBA_ASTC_10x6 | 0x93B9 | Equivale a GL_COMPRESSED_RGBA_ASTC_10x6_KHR |
QOpenGLTexture::RGBA_ASTC_10x8 | 0x93BA | Equivale a GL_COMPRESSED_RGBA_ASTC_10x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x10 | 0x93BB | Equivale a GL_COMPRESSED_RGBA_ASTC_10x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x10 | 0x93BC | Equivale a GL_COMPRESSED_RGBA_ASTC_12x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x12 | 0x93BD | Equivale a GL_COMPRESSED_RGBA_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 | 0x93D0 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 | 0x93D1 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 | 0x93D2 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 | 0x93D3 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 | 0x93D4 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 | 0x93D5 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 | 0x93D6 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 | 0x93D7 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 | 0x93D8 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 | 0x93D9 | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 | 0x93DA | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 | 0x93DB | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 | 0x93DC | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 | 0x93DD | Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8 | 0x8C41 | Equivale a GL_SRGB8 |
QOpenGLTexture::SRGB8_Alpha8 | 0x8C43 | Equivale a GL_SRGB8_ALPHA8 |
QOpenGLTexture::SRGB_DXT1 | 0x8C4C | Equivale a GL_COMPRESSED_SRGB_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT1 | 0x8C4D | Equivale a GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT3 | 0x8C4E | Equivale a GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT |
QOpenGLTexture::SRGB_Alpha_DXT5 | 0x8C4F | Equivale a GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT |
QOpenGLTexture::SRGB_BP_UNorm | 0x8E8D | Equivale a GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB |
QOpenGLTexture::DepthFormat | 0x1902 | Equivale a GL_DEPTH_COMPONENT (sólo OpenGL ES 3 o ES 2 con OES_depth_texture) |
QOpenGLTexture::AlphaFormat | 0x1906 | Equivalente a GL_ALPHA (sólo OpenGL ES 2) |
QOpenGLTexture::RGBFormat | 0x1907 | Equivalente a GL_RGB (sólo OpenGL ES 2) |
QOpenGLTexture::RGBAFormat | 0x1908 | Equivale a GL_RGBA (sólo OpenGL ES 2) |
QOpenGLTexture::LuminanceFormat | 0x1909 | Equivale a GL_LUMINANCE (sólo OpenGL ES 2) |
QOpenGLTexture::LuminanceAlphaFormat | 0x190A | Equivale a GL_LUMINANCE_ALPHA (sólo OpenGL ES 2) |
enum QOpenGLTexture::TextureUnitReset
Este enum define opciones para controlar la activación de la unidad de textura.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::ResetTextureUnit | 0 | La unidad de textura activa anterior se restablecerá |
QOpenGLTexture::DontResetTextureUnit | 1 | La unidad de textura activa anterior no se restablecerá |
enum QOpenGLTexture::WrapMode
Este enum define los posibles modos de envoltura de las coordenadas de la textura.
| Constante | Valor | Descripción |
|---|---|---|
QOpenGLTexture::Repeat | 0x2901 | La coordenada de la textura se repite. Equivale a GL_REPEAT |
QOpenGLTexture::MirroredRepeat | 0x8370 | La coordenada de la textura se refleja sobre 0 y 1. Equivale a GL_MIRRORED_REPEAT |
QOpenGLTexture::ClampToEdge | 0x812F | Sujeta las coordenadas de la textura a [0,1]. Equivale a GL_CLAMP_TO_EDGE |
QOpenGLTexture::ClampToBorder | 0x812D | Igual que ClampToEdge pero también mezcla muestras en 0 y 1 con un color de borde fijo. Equivale a GL_CLAMP_TO_BORDER |
Documentación de las funciones miembro
[explicit] QOpenGLTexture::QOpenGLTexture(QOpenGLTexture::Target target)
Crea un objeto QOpenGLTexture que puede ser enlazado a target.
Esto no crea el objeto de textura OpenGL subyacente. Por lo tanto, la construcción usando este constructor no requiere un contexto OpenGL válido.
[explicit] QOpenGLTexture::QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
Crea un objeto QOpenGLTexture que puede ser enlazado posteriormente al objetivo de textura 2D y contiene los datos de pixel contenidos en image. Si deseas tener una cadena de mipmaps generados entonces establece genMipMaps a true (este es el valor por defecto).
Esto crea el objeto de textura OpenGL subyacente. Por lo tanto, la construcción utilizando este constructor requiere un contexto OpenGL válido.
Nota: image se convierte automáticamente a QImage::Format_RGBA8888, lo que puede tener implicaciones de rendimiento para imágenes grandes con un formato diferente.
void QOpenGLTexture::allocateStorage()
Asigna almacenamiento del lado del servidor para este objeto de textura teniendo en cuenta, el formato, las dimensiones, los niveles mipmap, las capas array y las caras cubemap.
Una vez que el almacenamiento ha sido asignado ya no es posible cambiar estas propiedades.
Si es compatible, QOpenGLTexture utiliza un almacenamiento de texturas inmutable.
Una vez que el almacenamiento se ha asignado a la textura, los datos de píxeles se pueden cargar a través de una de las sobrecargas de setData().
Nota: Si el almacenamiento de textura inmutable no está disponible, entonces se utilizará un formato de píxel y un tipo de píxel por defecto para crear el almacenamiento mutable. Puedes usar la otra sobrecarga allocateStorage() para especificar exactamente el formato de pixel y el tipo de pixel a usar cuando se asigna almacenamiento mutable; esto es particularmente útil bajo ciertas implementaciones de OpenGL ES (notablemente, OpenGL ES 2), donde el formato de pixel y el tipo de pixel usados en el momento de la asignación deben coincidir perfectamente con el formato y el tipo pasados a cualquier llamada subsecuente a setData().
Véase también isStorageAllocated() y setData().
void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
Asigna almacenamiento del lado del servidor para este objeto de textura teniendo en cuenta, el formato, las dimensiones, los niveles del mipmap, las capas del array y las caras del cubemap.
Una vez que el almacenamiento ha sido asignado ya no es posible cambiar estas propiedades.
Si es compatible, QOpenGLTexture utiliza el almacenamiento de texturas inmutable. Sin embargo, si el almacenamiento de textura inmutable no está disponible, entonces se usarán los especificados pixelFormat y pixelType para asignar almacenamiento mutable; ten en cuenta que en ciertas implementaciones de OpenGL (notablemente, OpenGL ES 2) deben coincidir perfectamente con el formato y el tipo pasado a cualquier llamada subsiguiente a setData().
Una vez que se ha asignado almacenamiento a la textura, los datos de píxeles pueden cargarse mediante una de las sobrecargas de setData().
Véase también isStorageAllocated() y setData().
void QOpenGLTexture::bind()
Vincula esta textura a la unidad de textura activa en ese momento, lista para ser renderizada. Ten en cuenta que no necesitas enlazar objetos QOpenGLTexture para modificarlos ya que la implementación hace uso de la extensión EXT_direct_state_access cuando está disponible y la simula cuando no lo está.
Véase también release().
void QOpenGLTexture::bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
Vincula esta textura a la unidad de textura unit lista para ser renderizada. Ten en cuenta que no necesitas enlazar objetos QOpenGLTexture para modificarlos ya que la implementación hace uso de la extensión EXT_direct_state_access cuando está disponible y la simula cuando no lo está.
Si el parámetro reset es true entonces esta función restaurará la unidad activa a la unidad de textura que estaba activa al entrar.
Véase también release().
QColor QOpenGLTexture::borderColor() const
Devuelve el color del borde de esta textura.
Véase también setBorderColor().
void QOpenGLTexture::borderColor(float *border) const
Escribe el color del borde de la textura en los cuatro primeros elementos del array apuntado por border.
Véase también setBorderColor().
void QOpenGLTexture::borderColor(int *border) const
Escribe el color del borde de la textura en los cuatro primeros elementos del array apuntado por border.
Se trata de una función sobrecargada.
void QOpenGLTexture::borderColor(unsigned int *border) const
Escribe el color del borde de la textura en los cuatro primeros elementos del array apuntado por border.
Se trata de una función sobrecargada.
[static] GLuint QOpenGLTexture::boundTextureId(QOpenGLTexture::BindingTarget target)
Devuelve el textureId de la textura que está vinculada al target de la unidad de textura actualmente activa.
[static] GLuint QOpenGLTexture::boundTextureId(uint unit, QOpenGLTexture::BindingTarget target)
Devuelve el textureId de la textura que está ligada al target de la unidad de textura unit.
QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const
Devuelve el operador de comparación de textura establecido en esta textura. Por defecto, una textura tiene una función de comparación CompareLessEqual.
Véase también setComparisonFunction().
QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const
Devuelve el modo de comparación establecido en esta textura. Por defecto, una textura tiene un modo de comparación CompareNone (es decir, las comparaciones están desactivadas).
Véase también setComparisonMode().
bool QOpenGLTexture::create()
Crea el objeto de textura OpenGL subyacente. Esto requiere un contexto OpenGL válido. Si el objeto de textura ya existe, esta función no hace nada.
Una vez creado el objeto textura puedes obtener el nombre del objeto desde la función textureId(). Esto puede ser útil si desea realizar algunas llamadas OpenGL sin procesar relacionadas con esta textura.
Normalmente no debería ser necesario llamar a esta función directamente ya que todas las funciones que establecen propiedades del objeto textura llaman implícitamente a create() en su nombre.
Devuelve true si la creación tuvo éxito, en caso contrario devuelve false.
Ver también destroy(), isCreated(), y textureId().
QOpenGLTexture *QOpenGLTexture::createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const
Intenta crear una vista de textura sobre esta textura. Una vista de textura es algo análogo a una vista en SQL en el sentido de que presenta una vista restringida o reinterpretada de los datos originales. Las vistas de textura no asignan más almacenamiento del lado del servidor, sino que se basan en el búfer de almacenamiento de la textura de origen.
Las vistas de textura sólo están disponibles cuando se utiliza almacenamiento inmutable. Para más información sobre las vistas de textura, véase http://www.opengl.org/wiki/Texture_Storage#Texture_views.
El argumento target especifica el objetivo a utilizar para la vista. Sólo se pueden utilizar algunos destinos dependiendo del destino del destino original. Por ejemplo, una vista sobre una textura Target1DArray puede especificar tanto Target1DArray como Target1D, pero para esta última el número de capas de matriz especificadas con minimumLayer y maximumLayer debe ser exactamente 1.
Se aplican restricciones similares a viewFormat. Para más detalles, véase el enlace anterior y la especificación.
Los argumentos minimumMipmapLevel, maximumMipmapLevel, minimumLayer, y maximumLayer sirven para restringir las partes de la textura accesibles por la vista de textura.
Si la creación de la vista de textura falla esta función devolverá 0. Si la función tiene éxito devolverá un puntero a un nuevo objeto QOpenGLTexture que devolverá true de su función isTextureView().
Véase también isTextureView().
int QOpenGLTexture::depth() const
Devuelve la profundidad de una textura 3D.
Véase también width(), height() y setSize().
QOpenGLTexture::DepthStencilMode QOpenGLTexture::depthStencilMode() const
Devuelve el modo de plantilla de profundidad para texturas que utilizan un formato combinado de profundidad/esténcil.
Véase también setDepthStencilMode().
void QOpenGLTexture::destroy()
Destruye el objeto de textura OpenGL subyacente. Esto requiere un contexto OpenGL válido.
Véase también create(), isCreated(), y textureId().
int QOpenGLTexture::faces() const
Devuelve el número de caras de esta textura. Para objetos de tipo cubemap y cubemap array será 6.
Para objetivos que no sean de tipo cubemap devolverá 1.
QOpenGLTexture::TextureFormat QOpenGLTexture::format() const
Devuelve el formato de este objeto textura.
Véase también setFormat().
void QOpenGLTexture::generateMipMaps()
Genera mipmaps para este objeto de textura desde el nivel 0 de mipmap. Si estás usando un objetivo de textura y una opción de filtrado que requiere mipmaps y has desactivado la generación automática de mipmaps, entonces necesitas llamar a esta función o a la sobrecarga para crear la cadena de mipmaps.
Nota: La generación de mipmaps no está soportada para texturas comprimidas con OpenGL ES.
Véase también setAutoMipMapGenerationEnabled(), setMipLevels(), y mipLevels().
void QOpenGLTexture::generateMipMaps(int baseLevel, bool resetBaseLevel = true)
Genera mipmaps para este objeto de textura desde el nivel de mipmap baseLevel. Si estás utilizando un objetivo de textura y una opción de filtrado que requiere mipmaps y has desactivado la generación automática de mipmaps, entonces necesitas llamar a esta función o a la sobrecarga para crear la cadena de mipmaps.
La generación de mipmaps por encima de baseLevel se consigue estableciendo el nivel base del mipmap en baseLevel y generando a continuación la cadena de mipmaps. Si resetBaseLevel es true, entonces el baseLevel de la textura se restablecerá a su valor anterior.
Véase también setAutoMipMapGenerationEnabled(), setMipLevels(), y mipLevels().
[static] bool QOpenGLTexture::hasFeature(QOpenGLTexture::Feature feature)
Devuelve true si su implementación y versión de OpenGL admiten la función de textura feature.
int QOpenGLTexture::height() const
Devuelve la altura de una textura 2D o 3D.
Véase también width(), depth() y setSize().
bool QOpenGLTexture::isAutoMipMapGenerationEnabled() const
Devuelve si la generación automática de mipmaps está habilitada para este objeto de textura.
Véase también setAutoMipMapGenerationEnabled() y generateMipMaps().
bool QOpenGLTexture::isBound() const
Devuelve true si esta textura está ligada al objetivo correspondiente de la unidad de textura actualmente activa.
Véase también bind() y release().
bool QOpenGLTexture::isBound(uint unit)
Devuelve true si esta textura está ligada al objetivo correspondiente de la unidad de textura unit.
Véase también bind() y release().
bool QOpenGLTexture::isCreated() const
Devuelve true si el objeto de textura OpenGL subyacente ha sido creado.
Véase también create(), destroy(), y textureId().
bool QOpenGLTexture::isFixedSamplePositions() const
Devuelve si esta textura utiliza un patrón fijo de muestras múltiples. Si aún no se ha asignado almacenamiento para esta textura, esta función devuelve el ajuste de posición de muestra fija solicitado.
Para texturas que no soportan multimuestreo esta función devolverá true.
Véase también setFixedSamplePositions() y isStorageAllocated().
bool QOpenGLTexture::isStorageAllocated() const
Devuelve true si se ha asignado almacenamiento en el servidor para esta textura.
El formato de la textura, dimensiones, niveles del mipmap y capas del array no pueden ser alterados una vez que el almacenamiento ha sido asignado.
Ver también allocateStorage(), setSize(), setMipLevels(), setLayers(), y setFormat().
bool QOpenGLTexture::isTextureView() const
Devuelve true si este objeto textura es en realidad una vista sobre otro objeto textura.
Ver también createTextureView().
int QOpenGLTexture::layers() const
Devuelve el número de capas de la matriz para esta textura. Si aún no se ha asignado almacenamiento a esta textura, esta función devuelve el número solicitado de capas de matriz.
Para texturas que no soportan capas de array esta función devolverá 1.
Ver también setLayers() y isStorageAllocated().
std::pair<float, float> QOpenGLTexture::levelOfDetailRange() const
Devuelve los parámetros de nivel de detalle mínimo y máximo.
Véase también setLevelOfDetailRange(), minimumLevelOfDetail() y maximumLevelOfDetail().
float QOpenGLTexture::levelofDetailBias() const
Devuelve el parámetro de sesgo de nivel de detalle.
Véase también setLevelofDetailBias().
QOpenGLTexture::Filter QOpenGLTexture::magnificationFilter() const
Devuelve el filtro de aumento.
Véase también setMagnificationFilter().
float QOpenGLTexture::maximumAnisotropy() const
Devuelve el nivel máximo de anisotropía que debe tenerse en cuenta al realizar búsquedas de texturas. Esto requiere la extensión GL_EXT_texture_filter_anisotropic.
Véase también setMaximumAnisotropy().
float QOpenGLTexture::maximumLevelOfDetail() const
Devuelve el parámetro de máximo nivel de detalle.
Véase también setMaximumLevelOfDetail(), minimumLevelOfDetail() y levelOfDetailRange().
int QOpenGLTexture::maximumMipLevels() const
Devuelve el número máximo de niveles mipmap que esta textura puede tener dadas las dimensiones actuales.
Ver también setMipLevels(), mipLevels(), y setSize().
std::pair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> QOpenGLTexture::minMagFilters() const
Devuelve los filtros de reducción y ampliación actuales.
Véase también setMinMagFilters().
QOpenGLTexture::Filter QOpenGLTexture::minificationFilter() const
Devuelve el filtro de minificación.
Véase también setMinificationFilter().
float QOpenGLTexture::minimumLevelOfDetail() const
Devuelve el parámetro de nivel de detalle mínimo.
Véase también setMinimumLevelOfDetail(), maximumLevelOfDetail() y levelOfDetailRange().
int QOpenGLTexture::mipBaseLevel() const
Devuelve el nivel base del mipmap usado para todas las búsquedas de textura con esta textura. Por defecto es 0.
Ver también setMipBaseLevel(), mipMaxLevel(), y mipLevelRange().
std::pair<int, int> QOpenGLTexture::mipLevelRange() const
Devuelve el rango de niveles mipmap que pueden ser usados para búsquedas de textura con esta textura.
Ver también setMipLevelRange(), mipBaseLevel(), y mipMaxLevel().
int QOpenGLTexture::mipLevels() const
Devuelve el número de niveles mipmap para esta textura. Si aún no se ha asignado almacenamiento para esta textura, devuelve el número solicitado de niveles mipmap.
Véase también setMipLevels(), maximumMipLevels(), y isStorageAllocated().
int QOpenGLTexture::mipMaxLevel() const
Devuelve el nivel máximo de mipmap usado para todas las búsquedas de textura con esta textura.
Ver también setMipMaxLevel(), mipBaseLevel(), y mipLevelRange().
void QOpenGLTexture::release()
Desvincula esta textura de la unidad de textura actualmente activa.
Véase también bind().
void QOpenGLTexture::release(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
Desvincula esta textura de la unidad de textura unit.
Si el parámetro reset es true entonces esta función restaurará la unidad activa a la unidad de textura que estaba activa al entrar.
int QOpenGLTexture::samples() const
Devuelve el número de puntos de muestreo para esta textura. Si aún no se ha asignado almacenamiento a esta textura, esta función devuelve el número de muestras solicitado.
Para texturas que no soportan multimuestreo esta función devolverá 0.
Véase también setSamples() y isStorageAllocated().
void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)
Si enabled es true, habilita la generación automática de mipmap para que este objeto de textura se produzca siempre que los datos de mipmap de nivel 0 se establezcan a través de setData().
La generación automática de mipmap está habilitada por defecto.
Nota: La generación de mipmap no está soportada para texturas comprimidas con OpenGL ES 2.0.
Véase también isAutoMipMapGenerationEnabled() y generateMipMaps().
void QOpenGLTexture::setBorderColor(const QColor &color)
Establece el color del borde de la textura a color.
Nota: Esta función no tiene efecto en Mac y Qt construido para OpenGL ES 2.
Véase también borderColor().
void QOpenGLTexture::setBorderColor(float r, float g, float b, float a)
Establece el color rojo a r, el verde a g, el azul a b, y a al valor alfa.
Se trata de una función sobrecargada.
void QOpenGLTexture::setBorderColor(int r, int g, int b, int a)
Establece el color rojo a r, el verde a g, el azul a b, y el valor alfa a a.
Se trata de una función sobrecargada.
void QOpenGLTexture::setBorderColor(uint r, uint g, uint b, uint a)
Establece el color rojo a r, el verde a g, el azul a b, y el valor alfa a a.
Se trata de una función sobrecargada.
void QOpenGLTexture::setComparisonFunction(QOpenGLTexture::ComparisonFunction function)
Establece la función de comparación de texturas en esta textura a function. La función de comparación de texturas es usada por los muestreadores de sombras cuando muestrean una textura de profundidad.
Véase también comparisonFunction().
void QOpenGLTexture::setComparisonMode(QOpenGLTexture::ComparisonMode mode)
Establece el modo de comparación de texturas en esta textura a mode. El modo de comparación de texturas es usado por los muestreadores de sombras cuando muestrean una textura de profundidad.
Véase también comparisonMode().
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Transfiere el píxel comprimido data a mipLevel, array layer, y cubeFace. La transferencia de píxeles puede controlarse opcionalmente con options. El argumento dataSize debe especificar el tamaño de los datos apuntados por data.
Si no se utiliza format() comprimido, debe utilizarse setData() en lugar de esta función.
void QOpenGLTexture::setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Se trata de una función sobrecargada.
void QOpenGLTexture::setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Se trata de una función sobrecargada.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Se trata de una función sobrecargada.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
El parámetro layerCount es el número de capas en un array de texturas que están siendo cargadas/pobladas por esta llamada.
Esta es una función sobrecargada.
void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Carga el píxel data para este objeto de textura mipLevel, array layer, y cubeFace. El almacenamiento debe haber sido asignado antes de cargar los datos de píxel. Algunas sobrecargas de setData() establecerán las dimensiones apropiadas, niveles de mipmap y capas de array y luego asignarán almacenamiento por ti si tienen suficiente información para hacerlo. Esto se indicará en la documentación de la función.
La estructura de los datos de píxel apuntados por data está especificada por sourceFormat y sourceType. La carga de datos de píxeles puede controlarse opcionalmente mediante options.
Si utiliza un format() comprimido, deberá utilizar setCompressedData() en lugar de esta función.
Véase también setCompressedData().
void QOpenGLTexture::setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
Esta sobrecarga de setData() le asignará almacenamiento. Los datos de píxel están contenidos en image. Los mipmaps se generan por defecto. Establezca genMipMaps en DontGenerateMipMaps para desactivar la generación de mipmaps.
Nota: image se convierte automáticamente a QImage::Format_RGBA8888 lo que puede tener implicaciones de rendimiento para imágenes grandes con un formato diferente.
Se trata de una función sobrecargada.
void QOpenGLTexture::setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Se trata de una función sobrecargada.
void QOpenGLTexture::setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Se trata de una función sobrecargada.
void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Se trata de una función sobrecargada.
void QOpenGLTexture::setData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
El parámetro layerCount es el número de capas en un array de texturas que están siendo cargadas/pobladas por esta llamada.
Esta es una función sobrecargada.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Esta sobrecarga se utiliza para actualizar una parte de la textura. Los parámetros xOffset, yOffset, zOffset especifican los desplazamientos de texel dentro de la textura. Los parámetros width, height y depth especifican las dimensiones de la subimagen.
La estructura de los datos de píxeles a los que apunta data se especifica en sourceFormat y sourceType. La carga de datos de píxeles puede controlarse opcionalmente mediante options.
Se trata de una función sobrecargada.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Esta sobrecarga se utiliza para actualizar una parte de la textura. Los parámetros xOffset, yOffset, zOffset especifican los desplazamientos de texel dentro de la textura. Los parámetros width, height y depth especifican las dimensiones de la subimagen. El nivel del mapa mip de la subimagen que queremos actualizar se especifica con mipLevel.
La estructura de los datos de píxeles apuntados por data se especifica con sourceFormat y sourceType. La carga de datos de píxeles puede controlarse opcionalmente mediante options.
Se trata de una función sobrecargada.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Esta sobrecarga se utiliza para actualizar una parte de la textura. Los parámetros xOffset, yOffset, zOffset especifican los desplazamientos de texel dentro de la textura. Los parámetros width, height y depth especifican las dimensiones de la subimagen. El nivel del mapa mip y la capa de la subimagen que queremos actualizar se especifican con mipLevel y layer.
La estructura de los datos de píxeles a los que apunta data se especifica con sourceFormat y sourceType. La carga de datos de píxeles puede controlarse opcionalmente mediante options.
Se trata de una función sobrecargada.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Esta sobrecarga se utiliza para actualizar una parte de la textura. Los parámetros xOffset, yOffset, zOffset especifican los desplazamientos del texel dentro de la textura. Los parámetros width, height y depth especifican las dimensiones de la subimagen. El nivel del mapa mip, la capa y la cara del mapa cúbico de la subimagen que queremos actualizar se especifican con mipLevel, layer y face.
La estructura de los datos de píxeles a los que apunta data se especifica con sourceFormat y sourceType. La carga de datos de píxeles puede controlarse opcionalmente mediante options.
Se trata de una función sobrecargada.
void QOpenGLTexture::setData(int xOffset, int yOffset, int zOffset, int width, int height, int depth, int mipLevel, int layer, QOpenGLTexture::CubeMapFace face, int layerCount, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Esta sobrecarga se utiliza para actualizar una parte de la textura. Los parámetros xOffset, yOffset, zOffset especifican los desplazamientos de texel dentro de la textura. Los parámetros width, height y depth especifican las dimensiones de la subimagen.El nivel del mapa mip, la capa inicial, la cara del mapa cúbico y el número de capas de la subimagen que queremos actualizar se especifican con mipLevel, layer, face y layerCount.
La estructura de los datos de píxeles apuntados por data se especifica con sourceFormat y sourceType. La carga de datos de píxeles puede controlarse opcionalmente mediante options.
Se trata de una función sobrecargada.
void QOpenGLTexture::setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode)
Si se utiliza una textura que tiene un formato combinado de profundidad/estencil esta función establece a qué componente de la textura se accede a mode.
Cuando el parámetro se establece en DepthMode, entonces el acceso desde el shader accederá al componente de profundidad como un único flotador, como es normal. Pero cuando el parámetro se establece en StencilMode, el shader accederá al componente stencil.
Nota: Esta función no tiene efecto en Mac y Qt construido para OpenGL ES 2.
Véase también depthStencilMode().
void QOpenGLTexture::setFixedSamplePositions(bool fixed)
Establece si las posiciones de muestra y el número de muestras utilizadas con un objetivo de textura capaz de multimuestra a fixed. Si se establece a true las posiciones de muestra y el número de muestras utilizadas son las mismas para todos los texels de la imagen y no dependerán del tamaño de la imagen o del formato interno. Esta función debe invocarse antes de asignar almacenamiento a la textura.
Para los objetivos que no soportan el multimuestreo, esta función no tiene ningún efecto.
El valor por defecto es true.
Véase también isFixedSamplePositions() y isStorageAllocated().
void QOpenGLTexture::setFormat(QOpenGLTexture::TextureFormat format)
Establece el formato de este objeto de textura a format. Esta función debe ser llamada antes de que se asigne el almacenamiento de la textura.
Ten en cuenta que puede que no todos los formatos estén soportados. El conjunto exacto de formatos soportados depende de tu implementación y versión de OpenGL.
Véase también format() y allocateStorage().
void QOpenGLTexture::setLayers(int layers)
Establece el número de matrices layers para asignar almacenamiento. Esta función debe ser llamada antes de que el almacenamiento sea asignado a la textura.
Para objetivos que no soportan capas de array esta función no tiene efecto.
Ver también layers() y isStorageAllocated().
void QOpenGLTexture::setLevelOfDetailRange(float min, float max)
Establece los parámetros de nivel mínimo de detalle en min y el nivel máximo en max.
Nota: Esta función no tiene efecto en Qt construido para OpenGL ES 2.
Véase también levelOfDetailRange(), setMinimumLevelOfDetail(), y setMaximumLevelOfDetail().
void QOpenGLTexture::setLevelofDetailBias(float bias)
Establece el sesgo de nivel de detalle en bias. El sesgo de nivel de detalle afecta al punto en el que cambian los niveles de mapeado. Aumentar los valores del sesgo de nivel de detalle hace que las imágenes globales sean más borrosas o más suaves. Disminuir los valores hace que las imágenes globales sean más nítidas.
Nota: Esta función no tiene efecto en Qt construido para OpenGL ES 2.
Véase también levelofDetailBias().
void QOpenGLTexture::setMagnificationFilter(QOpenGLTexture::Filter filter)
Establece el filtro de ampliación en filter.
Véase también magnificationFilter(), setMinificationFilter() y setMinMagFilters().
void QOpenGLTexture::setMaximumAnisotropy(float anisotropy)
Si su implementación de OpenGL soporta la extensión GL_EXT_texture_filter_anisotropic esta función establece el nivel máximo de anisotropía en anisotropy.
Véase también maximumAnisotropy().
void QOpenGLTexture::setMaximumLevelOfDetail(float value)
Establece el máximo nivel de detalle en value. Esto limita la selección del mipmap de menor resolución (máximo nivel de mipmap). El valor por defecto es 1000.
Nota: Esta función no tiene efecto en Qt construido para OpenGL ES 2.
Véase también maximumLevelOfDetail(), setMinimumLevelOfDetail(), y setLevelOfDetailRange().
void QOpenGLTexture::setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter)
Establece el filtro de minificación en minificationFilter y el filtro de ampliación en magnificationFilter.
Véase también minMagFilters(), setMinificationFilter(), y setMagnificationFilter().
void QOpenGLTexture::setMinificationFilter(QOpenGLTexture::Filter filter)
Establece el filtro utilizado para la minificación en filter.
Véase también minificationFilter(), setMagnificationFilter() y setMinMagFilters().
void QOpenGLTexture::setMinimumLevelOfDetail(float value)
Establece el nivel mínimo de detalle en value. Esto limita la selección del mipmap de mayor resolución (nivel de mipmap más bajo). El valor por defecto es -1000.
Nota: Esta función no tiene efecto en Qt construido para OpenGL ES 2.
Véase también minimumLevelOfDetail(), setMaximumLevelOfDetail(), y setLevelOfDetailRange().
void QOpenGLTexture::setMipBaseLevel(int baseLevel)
Establece el nivel base del mipmap usado para todas las búsquedas de textura con esta textura a baseLevel.
Nota: Esta función no tiene efecto en Qt construido para OpenGL ES 2.
Véase también mipBaseLevel(), setMipMaxLevel(), y setMipLevelRange().
void QOpenGLTexture::setMipLevelRange(int baseLevel, int maxLevel)
Establece el rango de niveles de mipmap que pueden usarse para buscar texturas con esta textura en un rango de baseLevel a maxLevel.
Nota: Esta función no tiene efecto en Qt construido para OpenGL ES 2.
Ver también setMipBaseLevel(), setMipMaxLevel(), y mipLevelRange().
void QOpenGLTexture::setMipLevels(int levels)
Para objetivos de textura que soportan mipmaps, esta función establece el número solicitado de mipmaps levels para asignar almacenamiento. Esta función debe ser llamada antes de que el almacenamiento sea asignado a la textura.
Si el objetivo de textura no soporta mipmaps esta función no tiene efecto.
Ver también mipLevels(), maximumMipLevels(), y isStorageAllocated().
void QOpenGLTexture::setMipMaxLevel(int maxLevel)
Establece el nivel máximo de mipmap usado para todas las búsquedas de textura con esta textura a maxLevel.
Nota: Esta función no tiene efecto en Qt construido para OpenGL ES 2.
Véase también mipMaxLevel(), setMipBaseLevel(), y setMipLevelRange().
void QOpenGLTexture::setSamples(int samples)
Establece el número de samples para asignar almacenamiento cuando se renderiza a un objetivo de textura con capacidad multimuestra. Esta función debe invocarse antes de asignar almacenamiento a la textura.
Para objetivos que no soportan multimuestreo esta función no tiene efecto.
Véase también samples() y isStorageAllocated().
void QOpenGLTexture::setSize(int width, int height = 1, int depth = 1)
Establece las dimensiones de este objeto textura en width, height, y depth. El valor por defecto para cada dimensión es 1. El tamaño máximo de textura permitido depende de tu implementación de OpenGL. Asignar almacenamiento para una textura menor que el tamaño máximo puede fallar si tu sistema tiene pocos recursos.
Si se proporciona una textura sin potencia de dos width, height o depth y su implementación OpenGL no tiene soporte para repetir texturas sin potencia de dos, entonces el modo de envoltura se establece automáticamente en ClampToEdge.
Véase también width(), height(), y depth().
void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value)
Los sombreadores GLSL pueden reordenar los componentes del vec4 devuelto por las funciones de textura. También es deseable poder controlar esta reordenación desde el código de la CPU. Esto es posible gracias a las máscaras swizzle desde OpenGL 3.3.
Cada componente de la textura puede ser mapeado a una de las opciones de SwizzleValue.
Esta función mapea component a la salida value.
Nota: Esta función no tiene efecto en Mac y Qt construido para OpenGL ES 2.
Véase también swizzleMask().
void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a)
Los parámetros r, g, b, y a son valores utilizados para establecer los colores rojo, verde, azul y el valor alfa.
Se trata de una función sobrecargada.
void QOpenGLTexture::setWrapMode(QOpenGLTexture::WrapMode mode)
Establece la envoltura (o modo de repetición) para todas las dimensiones de la textura en mode.
Véase también wrapMode().
void QOpenGLTexture::setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode)
Establece la envoltura (o modo de repetición) para la dimensión de la textura direction a mode.
Esta es una función sobrecargada.
QOpenGLTexture::SwizzleValue QOpenGLTexture::swizzleMask(QOpenGLTexture::SwizzleComponent component) const
Devuelve la máscara swizzle para la textura component.
Véase también setSwizzleMask().
QOpenGLTexture::Target QOpenGLTexture::target() const
Devuelve el destino de esta textura.
GLuint QOpenGLTexture::textureId() const
Devuelve el nombre del objeto de textura OpenGL subyacente o 0 si aún no se ha creado.
Véase también create(), destroy(), y isCreated().
int QOpenGLTexture::width() const
Devuelve el ancho de una textura 1D, 2D o 3D.
Véase también height(), depth() y setSize().
QOpenGLTexture::WrapMode QOpenGLTexture::wrapMode(QOpenGLTexture::CoordinateDirection direction) const
Devuelve el modo de envoltura para la dimensión de la textura direction.
Véase también setWrapMode().
© 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.