En esta página

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.

ConstanteValorDescripción
QOpenGLTexture::BindingTarget1D0x8068Equivale a GL_TEXTURE_BINDING_1D
QOpenGLTexture::BindingTarget1DArray0x8C1CEquivale a GL_TEXTURE_BINDING_1D_ARRAY
QOpenGLTexture::BindingTarget2D0x8069Equivale a GL_TEXTURE_BINDING_2D
QOpenGLTexture::BindingTarget2DArray0x8C1DEquivale a GL_TEXTURE_BINDING_2D_ARRAY
QOpenGLTexture::BindingTarget3D0x806AEquivale a GL_TEXTURE_BINDING_3D
QOpenGLTexture::BindingTargetCubeMap0x8514Equivale a GL_TEXTURE_BINDING_CUBE_MAP
QOpenGLTexture::BindingTargetCubeMapArray0x900AEquivale a GL_TEXTURE_BINDING_CUBE_MAP_ARRAY
QOpenGLTexture::BindingTarget2DMultisample0x9104Equivale a GL_TEXTURE_BINDING_2D_MULTISAMPLE
QOpenGLTexture::BindingTarget2DMultisampleArray0x9105Equivale a GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY
QOpenGLTexture::BindingTargetRectangle0x84F6Equivale a GL_TEXTURE_BINDING_RECTANGLE
QOpenGLTexture::BindingTargetBuffer0x8C2CEquivale 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.

ConstanteValorDescripción
QOpenGLTexture::CompareLessEqual0x0203Equivale a GL_LEQUAL.
QOpenGLTexture::CompareGreaterEqual0x0206Equivale a GL_GEQUAL.
QOpenGLTexture::CompareLess0x0201Equivale a GL_LESS.
QOpenGLTexture::CompareGreater0x0204Equivale a GL_GREATER.
QOpenGLTexture::CompareEqual0x0202Equivale a GL_EQUAL.
QOpenGLTexture::CompareNotEqual0x0205Equivale a GL_NOTEQUAL.
QOpenGLTexture::CompareAlways0x0207Equivale a GL_ALWAYS.
QOpenGLTexture::CompareNever0x0200Equivale a GL_NEVER.

enum QOpenGLTexture::ComparisonMode

Este enum especifica qué modo de comparación se utiliza al muestrear esta textura.

ConstanteValorDescripción
QOpenGLTexture::CompareRefToTexture0x884EEquivale a GL_COMPARE_REF_TO_TEXTURE.
QOpenGLTexture::CompareNone0x0000Equivale a GL_NONE.

enum QOpenGLTexture::CoordinateDirection

Este enum define las posibles direcciones de las coordenadas de la textura

ConstanteValorDescripción
QOpenGLTexture::DirectionS0x2802La dirección horizontal. Equivale a GL_TEXTURE_WRAP_S
QOpenGLTexture::DirectionT0x2803Dirección vertical. Equivale a GL_TEXTURE_WRAP_T
QOpenGLTexture::DirectionR0x8072Dirección de profundidad. Equivale a GL_TEXTURE_WRAP_R

enum QOpenGLTexture::CubeMapFace

Este enum define las posibles caras de CubeMap.

ConstanteValorDescripción
QOpenGLTexture::CubeMapPositiveX0x8515Equivale a GL_TEXTURE_CUBE_MAP_POSITIVE_X
QOpenGLTexture::CubeMapNegativeX0x8516Equivale a GL_TEXTURE_CUBE_MAP_NEGATIVE_X
QOpenGLTexture::CubeMapPositiveY0x8517Equivale a GL_TEXTURE_CUBE_MAP_POSITIVE_Y
QOpenGLTexture::CubeMapNegativeY0x8518Equivale a GL_TEXTURE_CUBE_MAP_NEGATIVE_Y
QOpenGLTexture::CubeMapPositiveZ0x8519Equivale a GL_TEXTURE_CUBE_MAP_POSITIVE_Z
QOpenGLTexture::CubeMapNegativeZ0x851AEquivale 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.

ConstanteValorDescripción
QOpenGLTexture::DepthMode0x1902Equivale a GL_DEPTH_COMPONENT.
QOpenGLTexture::StencilMode0x1901Equivale 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.

ConstanteValorDescripción
QOpenGLTexture::ImmutableStorage0x00000001Soporte para almacenamiento inmutable de texturas
QOpenGLTexture::ImmutableMultisampleStorage0x00000002Soporte para almacenamiento de texturas inmutables con objetivos multimuestra
QOpenGLTexture::TextureRectangle0x00000004Soporte para el objetivo GL_TEXTURE_RECTANGLE
QOpenGLTexture::TextureArrays0x00000008Compatibilidad con objetivos de textura con capas de matriz
QOpenGLTexture::Texture3D0x00000010Compatibilidad con el objetivo de textura tridimensional
QOpenGLTexture::TextureMultisample0x00000020Compatibilidad con destinos de texturas con capacidad multimuestra
QOpenGLTexture::TextureBuffer0x00000040Compatibilidad con texturas que utilizan objetos de búfer OpenGL como fuente de datos
QOpenGLTexture::TextureCubeMapArrays0x00000080Compatibilidad con destino de textura de matriz de mapa cúbico
QOpenGLTexture::Swizzle0x00000100Compatibilidad con máscaras swizzle de componentes de textura
QOpenGLTexture::StencilTexturing0x00000200Compatibilidad 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::AnisotropicFiltering0x00000400Soporte para el filtrado anisotrópico de texturas.
QOpenGLTexture::NPOTTextures0x00000800Soporte básico de texturas sin potencia de dos.
QOpenGLTexture::NPOTTextureRepeat0x00001000Compatibilidad total con texturas sin potencia de dos, incluidos los modos de repetición de texturas
QOpenGLTexture::Texture1D0x00002000Compatibilidad con el objetivo de textura unidimensional
QOpenGLTexture::TextureComparisonOperators0x00004000Soporte para operadores de comparación de texturas
QOpenGLTexture::TextureMipMapLevel0x00008000Soporte 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.

ConstanteValorDescripción
QOpenGLTexture::Nearest0x2600Equivale a GL_NEAREST
QOpenGLTexture::Linear0x2601Equivale a GL_LINEAR
QOpenGLTexture::NearestMipMapNearest0x2700Equivale a GL_NEAREST_MIPMAP_NEAREST
QOpenGLTexture::NearestMipMapLinear0x2702Equivalente a GL_NEAREST_MIPMAP_LINEAR
QOpenGLTexture::LinearMipMapNearest0x2701Equivalente a GL_LINEAR_MIPMAP_NEAREST
QOpenGLTexture::LinearMipMapLinear0x2703Equivalente a GL_LINEAR_MIPMAP_LINEAR

enum QOpenGLTexture::MipMapGeneration

Este enum define las opciones para controlar la generación de mipmaps.

ConstanteValorDescripción
QOpenGLTexture::GenerateMipMaps0Se deben generar mipmaps
QOpenGLTexture::DontGenerateMipMaps1No 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.

ConstanteValorDescripción
QOpenGLTexture::NoSourceFormat0Equivale a GL_NONE
QOpenGLTexture::Red0x1903Equivale a GL_RED
QOpenGLTexture::RG0x8227Equivalente a GL_RG
QOpenGLTexture::RGB0x1907Equivalente a GL_RGB
QOpenGLTexture::BGR0x80E0Equivalente a GL_BGR
QOpenGLTexture::RGBA0x1908Equivalente a GL_RGBA
QOpenGLTexture::BGRA0x80E1Equivalente a GL_BGRA
QOpenGLTexture::Red_Integer0x8D94Equivalente a GL_RED_INTEGER
QOpenGLTexture::RG_Integer0x8228Equivalente a GL_RG_INTEGER
QOpenGLTexture::RGB_Integer0x8D98Equivalente a GL_RGB_INTEGER
QOpenGLTexture::BGR_Integer0x8D9AEquivalente a GL_BGR_INTEGER
QOpenGLTexture::RGBA_Integer0x8D99Equivalente a GL_RGBA_INTEGER
QOpenGLTexture::BGRA_Integer0x8D9BEquivalente a GL_BGRA_INTEGER
QOpenGLTexture::Stencil0x1901Equivalente a GL_STENCIL_INDEX. Introducido en Qt 5.4
QOpenGLTexture::Depth0x1902Equivale a GL_DEPTH_COMPONENT
QOpenGLTexture::DepthStencil0x84F9Equivale a GL_DEPTH_STENCIL
QOpenGLTexture::Alpha0x1906Equivale a GL_ALPHA (sólo OpenGL ES 2)
QOpenGLTexture::Luminance0x1909Equivale a GL_LUMINANCE (sólo OpenGL ES 2)
QOpenGLTexture::LuminanceAlpha0x190AEquivale 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

ConstanteValorDescripción
QOpenGLTexture::NoPixelType0Equivale a GL_NONE
QOpenGLTexture::Int80x1400Equivale a GL_BYTE
QOpenGLTexture::UInt80x1401Equivale a GL_UNSIGNED_BYTE
QOpenGLTexture::Int160x1402Equivale a GL_SHORT
QOpenGLTexture::UInt160x1403Equivale a GL_UNSIGNED_SHORT
QOpenGLTexture::Int320x1404Equivalente a GL_INT
QOpenGLTexture::UInt320x1405Equivalente a GL_UNSIGNED_INT
QOpenGLTexture::Float160x140BEquivalente a GL_HALF_FLOAT
QOpenGLTexture::Float16OES0x8D61Equivalente a GL_HALF_FLOAT_OES
QOpenGLTexture::Float320x1406Equivalente a GL_FLOAT
QOpenGLTexture::UInt32_RGB9_E50x8C3EEquivalente a GL_UNSIGNED_INT_5_9_9_REV
QOpenGLTexture::UInt32_RG11B10F0x8C3BEquivale a GL_UNSIGNED_INT_10F_11F_11F_REV
QOpenGLTexture::UInt8_RG3B20x8032Equivale a GL_UNSIGNED_BYTE_3_3_2
QOpenGLTexture::UInt8_RG3B2_Rev0x8362Equivale a GL_UNSIGNED_BYTE_2_3_3_REV
QOpenGLTexture::UInt16_RGB5A10x8034Equivale a GL_UNSIGNED_SHORT_5_5_5_1
QOpenGLTexture::UInt16_RGB5A1_Rev0x8366Equivale a GL_UNSIGNED_SHORT_1_5_5_5_REV
QOpenGLTexture::UInt16_R5G6B50x8363Equivale a GL_UNSIGNED_SHORT_5_6_5
QOpenGLTexture::UInt16_R5G6B5_Rev0x8364Equivale a GL_UNSIGNED_SHORT_5_6_5_REV
QOpenGLTexture::UInt16_RGBA40x8033Equivalente a GL_UNSIGNED_SHORT_4_4_4
QOpenGLTexture::UInt16_RGBA4_Rev0x8365Equivale a GL_UNSIGNED_SHORT_4_4_4_REV
QOpenGLTexture::UInt32_RGBA80x8035Equivale a GL_UNSIGNED_INT_8_8_8_8
QOpenGLTexture::UInt32_RGBA8_Rev0x8367Equivale a GL_UNSIGNED_INT_8_8_8_REV
QOpenGLTexture::UInt32_RGB10A20x8036Equivalente a GL_UNSIGNED_INT_10_10_2
QOpenGLTexture::UInt32_RGB10A2_Rev0x8368Equivale a GL_UNSIGNED_INT_2_10_10_REV
QOpenGLTexture::UInt32_D24S80x84FAEquivalente a GL_UNSIGNED_INT_24_8. Introducido en Qt 5.4
QOpenGLTexture::Float32_D32_UInt32_S8_X240x8DADEquivale 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.

ConstanteValorDescripción
QOpenGLTexture::SwizzleRed0x8E42El componente rojo. Equivale a GL_TEXTURE_SWIZZLE_R
QOpenGLTexture::SwizzleGreen0x8E43Componente verde. Equivale a GL_TEXTURE_SWIZZLE_G
QOpenGLTexture::SwizzleBlue0x8E44Componente azul. Equivale a GL_TEXTURE_SWIZZLE_B
QOpenGLTexture::SwizzleAlpha0x8E45Componente alfa. Equivale a GL_TEXTURE_SWIZZLE_A

enum QOpenGLTexture::SwizzleValue

Este enum define los posibles valores de máscara para la textura swizzling.

ConstanteValorDescripción
QOpenGLTexture::RedValue0x1903Mapea el componente al canal rojo. Equivale a GL_RED
QOpenGLTexture::GreenValue0x1904Asigna el componente al canal verde. Equivale a GL_GREEN
QOpenGLTexture::BlueValue0x1905Asigna el componente al canal azul. Equivale a GL_BLUE
QOpenGLTexture::AlphaValue0x1906Asigna el componente al canal alfa. Equivale a GL_ALPHA
QOpenGLTexture::ZeroValue0Asigna al componente un valor fijo de 0. Equivale a GL_ZERO
QOpenGLTexture::OneValue1Asigna 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.

ConstanteValorDescripción
QOpenGLTexture::Target1D0x0DE0Una textura unidimensional. Equivale a GL_TEXTURE_1D.
QOpenGLTexture::Target1DArray0x8C18Una matriz de texturas unidimensionales. Equivale a GL_TEXTURE_1D_ARRAY
QOpenGLTexture::Target2D0x0DE1Una textura bidimensional. Equivale a GL_TEXTURE_2D
QOpenGLTexture::Target2DArray0x8C1AMatriz de texturas bidimensionales. Equivale a GL_TEXTURE_2D_ARRAY
QOpenGLTexture::Target3D0x806FUna textura tridimensional. Equivale a GL_TEXTURE_3D
QOpenGLTexture::TargetCubeMap0x8513Una textura cubemap. Equivale a GL_TEXTURE_CUBE_MAP
QOpenGLTexture::TargetCubeMapArray0x9009Una matriz de texturas cubemap. Equivale a GL_TEXTURE_CUBE_MAP_ARRAY
QOpenGLTexture::Target2DMultisample0x9100Textura bidimensional con soporte multimuestra. Equivale a GL_TEXTURE_2D_MULTISAMPLE
QOpenGLTexture::Target2DMultisampleArray0x9102Matriz de texturas bidimensionales con soporte multimuestra. Equivale a GL_TEXTURE_2D_MULTISAMPLE_ARRAY
QOpenGLTexture::TargetRectangle0x84F5Una textura bidimensional rectangular. Equivale a GL_TEXTURE_RECTANGLE
QOpenGLTexture::TargetBuffer0x8C2AUna 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.

ConstanteValorDescripción
QOpenGLTexture::NoFormat0Equivale a GL_NONE
QOpenGLTexture::R8_UNorm0x8229Equivale a GL_R8
QOpenGLTexture::RG8_UNorm0x822BEquivalente a GL_RG8
QOpenGLTexture::RGB8_UNorm0x8051Equivalente a GL_RGB8
QOpenGLTexture::RGBA8_UNorm0x8058Equivalente a GL_RGBA8
QOpenGLTexture::R16_UNorm0x822AEquivalente a GL_R16
QOpenGLTexture::RG16_UNorm0x822CEquivalente a GL_RG16
QOpenGLTexture::RGB16_UNorm0x8054Equivalente a GL_RGB16
QOpenGLTexture::RGBA16_UNorm0x805BEquivalente a GL_RGBA16
QOpenGLTexture::R8_SNorm0x8F94Equivalente a GL_R8_SNORM
QOpenGLTexture::RG8_SNorm0x8F95Equivalente a GL_RG8_SNORM
QOpenGLTexture::RGB8_SNorm0x8F96Equivalente a GL_RGB8_SNORM
QOpenGLTexture::RGBA8_SNorm0x8F97Equivalente a GL_RGBA8_SNORM
QOpenGLTexture::R16_SNorm0x8F98Equivalente a GL_R16_SNORM
QOpenGLTexture::RG16_SNorm0x8F99Equivalente a GL_RG16_SNORM
QOpenGLTexture::RGB16_SNorm0x8F9AEquivalente a GL_RGB16_SNORM
QOpenGLTexture::RGBA16_SNorm0x8F9BEquivalente a GL_RGBA16_SNORM
QOpenGLTexture::R8U0x8232Equivalente a GL_R8UI
QOpenGLTexture::RG8U0x8238Equivalente a GL_RG8UI
QOpenGLTexture::RGB8U0x8D7DEquivalente a GL_RGB8UI
QOpenGLTexture::RGBA8U0x8D7CEquivalente a GL_RGBA8UI
QOpenGLTexture::R16U0x8234Equivalente a GL_R16UI
QOpenGLTexture::RG16U0x823AEquivalente a GL_RG16UI
QOpenGLTexture::RGB16U0x8D77Equivalente a GL_RGB16UI
QOpenGLTexture::RGBA16U0x8D76Equivalente a GL_RGBA16UI
QOpenGLTexture::R32U0x8236Equivalente a GL_R32UI
QOpenGLTexture::RG32U0x823CEquivalente a GL_RG32UI
QOpenGLTexture::RGB32U0x8D71Equivalente a GL_RGB32UI
QOpenGLTexture::RGBA32U0x8D70Equivalente a GL_RGBA32UI
QOpenGLTexture::R8I0x8231Equivalente a GL_R8I
QOpenGLTexture::RG8I0x8237Equivalente a GL_RG8I
QOpenGLTexture::RGB8I0x8D8FEquivalente a GL_RGB8I
QOpenGLTexture::RGBA8I0x8D8EEquivalente a GL_RGBA8I
QOpenGLTexture::R16I0x8233Equivalente a GL_R16I
QOpenGLTexture::RG16I0x8239Equivalente a GL_RG16I
QOpenGLTexture::RGB16I0x8D89Equivalente a GL_RGB16I
QOpenGLTexture::RGBA16I0x8D88Equivalente a GL_RGBA16I
QOpenGLTexture::R32I0x8235Equivalente a GL_R32I
QOpenGLTexture::RG32I0x823BEquivalente a GL_RG32I
QOpenGLTexture::RGB32I0x8D83Equivalente a GL_RGB32I
QOpenGLTexture::RGBA32I0x8D82Equivalente a GL_RGBA32I
QOpenGLTexture::R16F0x822DEquivalente a GL_R16F
QOpenGLTexture::RG16F0x822FEquivalente a GL_RG16F
QOpenGLTexture::RGB16F0x881BEquivalente a GL_RGB16F
QOpenGLTexture::RGBA16F0x881AEquivalente a GL_RGBA16F
QOpenGLTexture::R32F0x822EEquivalente a GL_R32F
QOpenGLTexture::RG32F0x8230Equivalente a GL_RG32F
QOpenGLTexture::RGB32F0x8815Equivalente a GL_RGB32F
QOpenGLTexture::RGBA32F0x8814Equivalente a GL_RGBA32F
QOpenGLTexture::RGB9E50x8C3DEquivalente a GL_RGB9_E5
QOpenGLTexture::RG11B10F0x8C3AEquivalente a GL_R11F_G11F_B10F
QOpenGLTexture::RG3B20x2A10Equivalente a GL_R3_G3_B2
QOpenGLTexture::R5G6B50x8D62Equivalente a GL_RGB565
QOpenGLTexture::RGB5A10x8057Equivalente a GL_RGB5_A1
QOpenGLTexture::RGBA40x8056Equivalente a GL_RGBA4
QOpenGLTexture::RGB10A20x906FEquivalente a GL_RGB10_A2UI
QOpenGLTexture::D160x81A5Equivale a GL_DEPTH_COMPONENT16
QOpenGLTexture::D240x81A6Equivalente a GL_DEPTH_COMPONENT24
QOpenGLTexture::D24S80x88F0Equivale a GL_DEPTH24_STENCIL8
QOpenGLTexture::D320x81A7Equivalente a GL_DEPTH_COMPONENT32
QOpenGLTexture::D32F0x8CACEquivale a GL_DEPTH_COMPONENT32F
QOpenGLTexture::D32FS8X240x8CADEquivale a GL_DEPTH32F_STENCIL8
QOpenGLTexture::S80x8D48Equivale a GL_STENCIL_INDEX8. Introducido en Qt 5.4
QOpenGLTexture::RGB_DXT10x83F0Equivale a GL_COMPRESSED_RGB_S3TC_DXT1_EXT
QOpenGLTexture::RGBA_DXT10x83F1Equivale a GL_COMPRESSED_RGBA_S3TC_DXT1_EXT
QOpenGLTexture::RGBA_DXT30x83F2Equivale a GL_COMPRESSED_RGBA_S3TC_DXT3_EXT
QOpenGLTexture::RGBA_DXT50x83F3Equivale a GL_COMPRESSED_RGBA_S3TC_DXT5_EXT
QOpenGLTexture::R_ATI1N_UNorm0x8DBBEquivale a GL_COMPRESSED_RED_RGTC1
QOpenGLTexture::R_ATI1N_SNorm0x8DBCEquivale a GL_COMPRESSED_SIGNED_RED_RGTC1
QOpenGLTexture::RG_ATI2N_UNorm0x8DBDEquivale a GL_COMPRESSED_RG_RGTC2
QOpenGLTexture::RG_ATI2N_SNorm0x8DBEEquivale a GL_COMPRESSED_SIGNED_RG_RGTC2
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT0x8E8FEquivale a GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB
QOpenGLTexture::RGB_BP_SIGNED_FLOAT0x8E8EEquivale a GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB
QOpenGLTexture::RGB_BP_UNorm0x8E8CEquivale a GL_COMPRESSED_RGBA_BPTC_UNORM_ARB
QOpenGLTexture::R11_EAC_UNorm0x9270Equivale a GL_COMPRESSED_R11_EAC
QOpenGLTexture::R11_EAC_SNorm0x9271Equivale a GL_COMPRESSED_SIGNED_R11_EAC
QOpenGLTexture::RG11_EAC_UNorm0x9272Equivale a GL_COMPRESSED_RG11_EAC
QOpenGLTexture::RG11_EAC_SNorm0x9273Equivale a GL_COMPRESSED_SIGNED_RG11_EAC
QOpenGLTexture::RGB8_ETC20x9274Equivale a GL_COMPRESSED_RGB8_ETC2
QOpenGLTexture::SRGB8_ETC20x9275Equivale a GL_COMPRESSED_SRGB8_ETC2
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC20x9276Equivale a GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC20x9277Equivale a GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2
QOpenGLTexture::RGBA8_ETC2_EAC0x9278Equivale a GL_COMPRESSED_RGBA8_ETC2_EAC
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC0x9279Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC
QOpenGLTexture::RGB8_ETC10x8D64Equivale a GL_ETC1_RGB8_OES
QOpenGLTexture::RGBA_ASTC_4x40x93B0Equivale a GL_COMPRESSED_RGBA_ASTC_4x4_KHR
QOpenGLTexture::RGBA_ASTC_5x40x93B1Equivale a GL_COMPRESSED_RGBA_ASTC_5x4_KHR
QOpenGLTexture::RGBA_ASTC_5x50x93B2Equivale a GL_COMPRESSED_RGBA_ASTC_5x5_KHR
QOpenGLTexture::RGBA_ASTC_6x50x93B3Equivale a GL_COMPRESSED_RGBA_ASTC_6x5_KHR
QOpenGLTexture::RGBA_ASTC_6x60x93B4Equivale a GL_COMPRESSED_RGBA_ASTC_6x6_KHR
QOpenGLTexture::RGBA_ASTC_8x50x93B5Equivale a GL_COMPRESSED_RGBA_ASTC_8x5_KHR
QOpenGLTexture::RGBA_ASTC_8x60x93B6Equivale a GL_COMPRESSED_RGBA_ASTC_8x6_KHR
QOpenGLTexture::RGBA_ASTC_8x80x93B7Equivale a GL_COMPRESSED_RGBA_ASTC_8x8_KHR
QOpenGLTexture::RGBA_ASTC_10x50x93B8Equivale a GL_COMPRESSED_RGBA_ASTC_10x5_KHR
QOpenGLTexture::RGBA_ASTC_10x60x93B9Equivale a GL_COMPRESSED_RGBA_ASTC_10x6_KHR
QOpenGLTexture::RGBA_ASTC_10x80x93BAEquivale a GL_COMPRESSED_RGBA_ASTC_10x8_KHR
QOpenGLTexture::RGBA_ASTC_10x100x93BBEquivale a GL_COMPRESSED_RGBA_ASTC_10x10_KHR
QOpenGLTexture::RGBA_ASTC_12x100x93BCEquivale a GL_COMPRESSED_RGBA_ASTC_12x10_KHR
QOpenGLTexture::RGBA_ASTC_12x120x93BDEquivale a GL_COMPRESSED_RGBA_ASTC_12x12_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x40x93D0Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x40x93D1Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x50x93D2Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x50x93D3Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x60x93D4Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x50x93D5Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x60x93D6Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x80x93D7Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x50x93D8Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x60x93D9Equivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x80x93DAEquivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x100x93DBEquivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x100x93DCEquivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x120x93DDEquivale a GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR
QOpenGLTexture::SRGB80x8C41Equivale a GL_SRGB8
QOpenGLTexture::SRGB8_Alpha80x8C43Equivale a GL_SRGB8_ALPHA8
QOpenGLTexture::SRGB_DXT10x8C4CEquivale a GL_COMPRESSED_SRGB_S3TC_DXT1_EXT
QOpenGLTexture::SRGB_Alpha_DXT10x8C4DEquivale a GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT
QOpenGLTexture::SRGB_Alpha_DXT30x8C4EEquivale a GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT
QOpenGLTexture::SRGB_Alpha_DXT50x8C4FEquivale a GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT
QOpenGLTexture::SRGB_BP_UNorm0x8E8DEquivale a GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB
QOpenGLTexture::DepthFormat0x1902Equivale a GL_DEPTH_COMPONENT (sólo OpenGL ES 3 o ES 2 con OES_depth_texture)
QOpenGLTexture::AlphaFormat0x1906Equivalente a GL_ALPHA (sólo OpenGL ES 2)
QOpenGLTexture::RGBFormat0x1907Equivalente a GL_RGB (sólo OpenGL ES 2)
QOpenGLTexture::RGBAFormat0x1908Equivale a GL_RGBA (sólo OpenGL ES 2)
QOpenGLTexture::LuminanceFormat0x1909Equivale a GL_LUMINANCE (sólo OpenGL ES 2)
QOpenGLTexture::LuminanceAlphaFormat0x190AEquivale 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.

ConstanteValorDescripción
QOpenGLTexture::ResetTextureUnit0La unidad de textura activa anterior se restablecerá
QOpenGLTexture::DontResetTextureUnit1La 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.

ConstanteValorDescripción
QOpenGLTexture::Repeat0x2901La coordenada de la textura se repite. Equivale a GL_REPEAT
QOpenGLTexture::MirroredRepeat0x8370La coordenada de la textura se refleja sobre 0 y 1. Equivale a GL_MIRRORED_REPEAT
QOpenGLTexture::ClampToEdge0x812FSujeta las coordenadas de la textura a [0,1]. Equivale a GL_CLAMP_TO_EDGE
QOpenGLTexture::ClampToBorder0x812DIgual 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.