Класс QOpenGLTexture
Класс QOpenGLTexture инкапсулирует объект текстуры OpenGL. Подробнее...
| Заголовок: | #include <QOpenGLTexture> |
| qmake: | QT += gui |
| С момента: | Qt 5.2 |
Типы публичного доступа
| перечисление | BindingTarget { BindingTarget1D, BindingTarget1DArray, BindingTarget2D, BindingTarget2DArray, ..., BindingTargetBuffer } |
| перечисление | ComparisonFunction { CompareLessEqual, CompareGreaterEqual, CompareLess, CompareGreater, ..., CompareNever } |
| перечисление | ComparisonMode { CompareRefToTexture, CompareNone } |
| перечисление | CoordinateDirection { DirectionS, DirectionT, DirectionR } |
| перечисление | CubeMapFace { CubeMapPositiveX, CubeMapNegativeX, CubeMapPositiveY, CubeMapNegativeY, CubeMapPositiveZ, CubeMapNegativeZ } |
| перечисление | DepthStencilMode { DepthMode, StencilMode } |
| перечисление | Feature { ImmutableStorage, ImmutableMultisampleStorage, TextureRectangle, TextureArrays, ..., TextureMipMapLevel } |
| флаги | Features |
| перечисление | Filter { Nearest, Linear, NearestMipMapNearest, NearestMipMapLinear, LinearMipMapNearest, LinearMipMapLinear } |
| перечисление | MipMapGeneration { GenerateMipMaps, DontGenerateMipMaps } |
| перечисление | PixelFormat { NoSourceFormat, Red, RG, RGB, ..., LuminanceAlpha } |
| перечисление | PixelType { NoPixelType, Int8, UInt8, Int16, ..., Float32_D32_UInt32_S8_X24 } |
| перечисление | SwizzleComponent { SwizzleRed, SwizzleGreen, SwizzleBlue, SwizzleAlpha } |
| перечисление | SwizzleValue { RedValue, GreenValue, BlueValue, AlphaValue, ZeroValue, OneValue } |
| перечисление | Target { Target1D, Target1DArray, Target2D, Target2DArray, ..., TargetBuffer } |
| перечисление | TextureFormat { NoFormat, R8_UNorm, RG8_UNorm, RGB8_UNorm, ..., LuminanceAlphaFormat } |
| перечисление | TextureUnitReset { ResetTextureUnit, DontResetTextureUnit } |
| перечисление | WrapMode { Repeat, MirroredRepeat, ClampToEdge, ClampToBorder } |
Публичные функции
| QOpenGLTexture(Target target) | |
| QOpenGLTexture(const QImage &image, MipMapGeneration genMipMaps = GenerateMipMaps) | |
| ~QOpenGLTexture() | |
| void | allocateStorage() |
| void | allocateStorage(PixelFormat pixelFormat, PixelType pixelType) |
| void | bind() |
| void | bind(uint unit, TextureUnitReset reset = DontResetTextureUnit) |
| QColor | borderColor() const |
| void | borderColor(float *border) const |
| void | borderColor(int *border) const |
| void | borderColor(unsigned int *border) const |
| ComparisonFunction | comparisonFunction() const |
| ComparisonMode | comparisonMode() const |
| bool | create() |
| QOpenGLTexture * | createTextureView(Target target, TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const |
| int | depth() const |
| DepthStencilMode | depthStencilMode() const |
| void | destroy() |
| int | faces() const |
| 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 |
| QPair<float, float> | levelOfDetailRange() const |
| float | levelofDetailBias() const |
| Filter | magnificationFilter() const |
| float | maximumAnisotropy() const |
| float | maximumLevelOfDetail() const |
| int | maximumMipLevels() const |
| QPair<Filter, Filter> | minMagFilters() const |
| Filter | minificationFilter() const |
| float | minimumLevelOfDetail() const |
| int | mipBaseLevel() const |
| QPair<int, int> | mipLevelRange() const |
| int | mipLevels() const |
| int | mipMaxLevel() const |
| void | release() |
| void | release(uint unit, TextureUnitReset reset = DontResetTextureUnit) |
| int | samples() const |
| void | setAutoMipMapGenerationEnabled(bool enabled) |
| void | setBorderColor(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(ComparisonFunction function) |
| void | setComparisonMode(ComparisonMode mode) |
| void | setCompressedData(int mipLevel, int layer, CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setCompressedData(int mipLevel, int layer, int layerCount, CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setData(int mipLevel, int layer, CubeMapFace cubeFace, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setData(int mipLevel, int layer, int layerCount, CubeMapFace cubeFace, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setData(int mipLevel, int layer, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setData(int mipLevel, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setData(PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR) |
| void | setData(const QImage &image, MipMapGeneration genMipMaps = GenerateMipMaps) |
| void | setDepthStencilMode(DepthStencilMode mode) |
| void | setFixedSamplePositions(bool fixed) |
| void | setFormat(TextureFormat format) |
| void | setLayers(int layers) |
| void | setLevelOfDetailRange(float min, float max) |
| void | setLevelofDetailBias(float bias) |
| void | setMagnificationFilter(Filter filter) |
| void | setMaximumAnisotropy(float anisotropy) |
| void | setMaximumLevelOfDetail(float value) |
| void | setMinMagFilters(Filter minificationFilter, Filter magnificationFilter) |
| void | setMinificationFilter(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(SwizzleComponent component, SwizzleValue value) |
| void | setSwizzleMask(SwizzleValue r, SwizzleValue g, SwizzleValue b, SwizzleValue a) |
| void | setWrapMode(WrapMode mode) |
| void | setWrapMode(CoordinateDirection direction, WrapMode mode) |
| SwizzleValue | swizzleMask(SwizzleComponent component) const |
| Target | target() const |
| GLuint | textureId() const |
| int | width() const |
| WrapMode | wrapMode(CoordinateDirection direction) const |
Статические публичные члены
| GLuint | boundTextureId(BindingTarget target) |
| GLuint | boundTextureId(uint unit, BindingTarget target) |
| bool | hasFeature(Feature feature) |
Подробное описание
Класс QOpenGLTexture инкапсулирует объект текстуры OpenGL.
QOpenGLTexture упрощает работу с текстурами OpenGL и многочисленными функциями и целевыми типами, которые они предлагают в зависимости от возможностей вашей реализации OpenGL.
Типичный шаблон использования QOpenGLTexture:
- Создать объект, указав тип целевой текстуры
- Установить свойства, которые влияют на требования к хранению, например, формат хранения, размеры
- Выделить хранилище на стороне сервера
- Необязательно загрузить пиксельные данные
- Необязательно установить дополнительные свойства, например, параметры фильтрации и границы
- Отобразить текстуру или рендерить в текстуру
В общем случае, если источником пиксельных данных текстуры является QImage, большинство из перечисленных шагов выполняются автоматически.
// Prepare texture QOpenGLTexture *texture = new QOpenGLTexture(QImage(fileName).mirrored()); texture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear); texture->setMagnificationFilter(QOpenGLTexture::Linear); ... // Render with texture texture->bind(); glDrawArrays(...);
Обратите внимание, что QImage отражается по вертикали, чтобы учесть тот факт, что OpenGL и QImage используют противоположные направления для оси y. Другой вариант — преобразовать ваши координаты текстуры.
Документация типов членов
Перечисление QOpenGLTexture::BindingTarget
Это перечисление определяет возможные целевые точки привязки блоков текстур.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::BindingTarget1D |
0x8068 |
Эквивалентно GL_TEXTURE_BINDING_1D |
QOpenGLTexture::BindingTarget1DArray |
0x8C1C |
Эквивалентно GL_TEXTURE_BINDING_1D_ARRAY |
QOpenGLTexture::BindingTarget2D |
0x8069 |
Эквивалентно GL_TEXTURE_BINDING_2D |
QOpenGLTexture::BindingTarget2DArray |
0x8C1D |
Эквивалентно GL_TEXTURE_BINDING_2D_ARRAY |
QOpenGLTexture::BindingTarget3D |
0x806A |
Эквивалентно GL_TEXTURE_BINDING_3D |
QOpenGLTexture::BindingTargetCubeMap |
0x8514 |
Эквивалентно GL_TEXTURE_BINDING_CUBE_MAP |
QOpenGLTexture::BindingTargetCubeMapArray |
0x900A |
Эквивалентно GL_TEXTURE_BINDING_CUBE_MAP_ARRAY |
QOpenGLTexture::BindingTarget2DMultisample |
0x9104 |
Эквивалентно GL_TEXTURE_BINDING_2D_MULTISAMPLE |
QOpenGLTexture::BindingTarget2DMultisampleArray |
0x9105 |
Эквивалентно GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::BindingTargetRectangle |
0x84F6 |
Эквивалентно GL_TEXTURE_BINDING_RECTANGLE |
QOpenGLTexture::BindingTargetBuffer |
0x8C2C |
Эквивалентно GL_TEXTURE_BINDING_BUFFER |
enum QOpenGLTexture::ComparisonFunction
Этот перечисление определяет оператор сравнения, используемый при включённом сравнении текстур в этой текстуре.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::CompareLessEqual |
0x0203 |
Эквивалентно GL_LEQUAL. |
QOpenGLTexture::CompareGreaterEqual |
0x0206 |
Эквивалентно GL_GEQUAL. |
QOpenGLTexture::CompareLess |
0x0201 |
Эквивалентно GL_LESS. |
QOpenGLTexture::CompareGreater |
0x0204 |
Эквивалентно GL_GREATER. |
QOpenGLTexture::CompareEqual |
0x0202 |
Эквивалентно GL_EQUAL. |
QOpenGLTexture::CommpareNotEqual |
0x0205 |
Эквивалентно GL_NOTEQUAL. |
QOpenGLTexture::CompareAlways |
0x0207 |
Эквивалентно GL_ALWAYS. |
QOpenGLTexture::CompareNever |
0x0200 |
Эквивалентно GL_NEVER. |
Это перечисление было введено или изменено в Qt 5.5.
enum QOpenGLTexture::ComparisonMode
Это перечисление определяет режим сравнения, используемый при выборке из этой текстуры.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::CompareRefToTexture |
0x884E |
Эквивалентно GL_COMPARE_REF_TO_TEXTURE. |
QOpenGLTexture::CompareNone |
0x0000 |
Эквивалентно GL_NONE. |
Это перечисление было введено или изменено в Qt 5.5.
enum QOpenGLTexture::CoordinateDirection
Это перечисление определяет возможные направления координат текстуры.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::DirectionS |
0x2802 |
Горизонтальное направление. Эквивалентно GL_TEXTURE_WRAP_S |
QOpenGLTexture::DirectionT |
0x2803 |
Вертикальное направление. Эквивалентно GL_TEXTURE_WRAP_T |
QOpenGLTexture::DirectionR |
0x8072 |
Направление глубины. Эквивалентно GL_TEXTURE_WRAP_R |
enum QOpenGLTexture::CubeMapFace
Это перечисление определяет возможные грани куба.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::CubeMapPositiveX |
0x8515 |
Эквивалентно GL_TEXTURE_CUBE_MAP_POSITIVE_X |
QOpenGLTexture::CubeMapNegativeX |
0x8516 |
Эквивалентно GL_TEXTURE_CUBE_MAP_NEGATIVE_X |
QOpenGLTexture::CubeMapPositiveY |
0x8517 |
Эквивалентно GL_TEXTURE_CUBE_MAP_POSITIVE_Y |
QOpenGLTexture::CubeMapNegativeY |
0x8518 |
Эквивалентно GL_TEXTURE_CUBE_MAP_NEGATIVE_Y |
QOpenGLTexture::CubeMapPositiveZ |
0x8519 |
Эквивалентно GL_TEXTURE_CUBE_MAP_POSITIVE_Z |
QOpenGLTexture::CubeMapNegativeZ |
0x851A |
Эквивалентно GL_TEXTURE_CUBE_MAP_NEGATIVE_Z |
enum QOpenGLTexture::DepthStencilMode
Это перечисление определяет, какой компонент текстуры глубины/маски используется при выборке текстуры.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::DepthMode |
0x1902 |
Эквивалентно GL_DEPTH_COMPONENT. |
QOpenGLTexture::StencilMode |
0x1901 |
Эквивалентно GL_STENCIL_INDEX. |
Это перечисление было введено или изменено в Qt 5.4.
enum QOpenGLTexture::Featureflags QOpenGLTexture::Features
Это перечисление определяет возможности OpenGL, связанные с текстурами, которые можно проверить.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::ImmutableStorage |
0x00000001 |
Поддержка неизменяемого хранения текстур |
QOpenGLTexture::ImmutableMultisampleStorage |
0x00000002 |
Поддержка неизменяемого хранения текстур с многообразными мишенями |
QOpenGLTexture::TextureRectangle |
0x00000004 |
Поддержка мишени GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TextureArrays |
0x00000008 |
Поддержка мишеней текстур с массивами слоёв |
QOpenGLTexture::Texture3D |
0x00000010 |
Поддержка трёхмерной мишени текстур |
QOpenGLTexture::TextureMultisample |
0x00000020 |
Поддержка мишеней текстур, которые имеют возможности многообразной выборки |
QOpenGLTexture::TextureBuffer |
0x00000040 |
Поддержка текстур, которые используют объекты буфера OpenGL в качестве источника данных |
QOpenGLTexture::TextureCubeMapArrays |
0x00000080 |
Поддержка мишени текстуры массива куба |
QOpenGLTexture::Swizzle |
0x00000100 |
Поддержка масок смещения компонентов текстуры |
QOpenGLTexture::StencilTexturing |
0x00000200 |
Поддержка стереоскопического текстурирования (т.е. поиск компонентов глубины или маски объединённой текстуры глубины/маски в GLSL-шейдерах). |
QOpenGLTexture::AnisotropicFiltering |
0x00000400 |
Поддержка анизотропной фильтрации текстур |
QOpenGLTexture::NPOTTextures |
0x00000800 |
Базовая поддержка текстур, не являющихся степенью двойки |
QOpenGLTexture::NPOTTextureRepeat |
0x00001000 |
Полная поддержка текстур, не являющихся степенью двойки, включая режимы повторения текстур |
QOpenGLTexture::Texture1D |
0x00002000 |
Поддержка одноразмерной мишени текстур |
QOpenGLTexture::TextureComparisonOperators |
0x00004000 |
Поддержка операторов сравнения текстур |
QOpenGLTexture::TextureMipMapLevel |
0x00008000 |
Поддержка установки базового и максимального уровней mipmap |
Тип Features является псевдонимом для QFlags<Feature>. Он хранит логическое ИЛИ комбинацию значений Feature.
END_OF_DOCUMENT_MARKERenum QOpenGLTexture::Filter
Это перечисление определяет параметры фильтрации для объекта QOpenGLTexture.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::Nearest |
0x2600 |
Эквивалентно GL_NEAREST |
QOpenGLTexture::Linear |
0x2601 |
Эквивалентно GL_LINEAR |
QOpenGLTexture::NearestMipMapNearest |
0x2700 |
Эквивалентно GL_NEAREST_MIPMAP_NEAREST |
QOpenGLTexture::NearestMipMapLinear |
0x2702 |
Эквивалентно GL_NEAREST_MIPMAP_LINEAR |
QOpenGLTexture::LinearMipMapNearest |
0x2701 |
Эквивалентно GL_LINEAR_MIPMAP_NEAREST |
QOpenGLTexture::LinearMipMapLinear |
0x2703 |
Эквивалентно GL_LINEAR_MIPMAP_LINEAR |
enum QOpenGLTexture::MipMapGeneration
Это перечисление определяет параметры управления генерацией mipmap.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::GenerateMipMaps |
0 |
Mipmap должны быть сгенерированы |
QOpenGLTexture::DontGenerateMipMaps |
1 |
Mipmap не должны быть сгенерированы |
enum QOpenGLTexture::PixelFormat
Это перечисление определяет возможные клиентские форматы пикселей для операции передачи пикселей.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::NoSourceFormat |
0 |
Эквивалентно GL_NONE |
QOpenGLTexture::Red |
0x1903 |
Эквивалентно GL_RED |
QOpenGLTexture::RG |
0x8227 |
Эквивалентно GL_RG |
QOpenGLTexture::RGB |
0x1907 |
Эквивалентно GL_RGB |
QOpenGLTexture::BGR |
0x80E0 |
Эквивалентно GL_BGR |
QOpenGLTexture::RGBA |
0x1908 |
Эквивалентно GL_RGBA |
QOpenGLTexture::BGRA |
0x80E1 |
Эквивалентно GL_BGRA |
QOpenGLTexture::Red_Integer |
0x8D94 |
Эквивалентно GL_RED_INTEGER |
QOpenGLTexture::RG_Integer |
0x8228 |
Эквивалентно GL_RG_INTEGER |
QOpenGLTexture::RGB_Integer |
0x8D98 |
Эквивалентно GL_RGB_INTEGER |
QOpenGLTexture::BGR_Integer |
0x8D9A |
Эквивалентно GL_BGR_INTEGER |
QOpenGLTexture::RGBA_Integer |
0x8D99 |
Эквивалентно GL_RGBA_INTEGER |
QOpenGLTexture::BGRA_Integer |
0x8D9B |
Эквивалентно GL_BGRA_INTEGER |
QOpenGLTexture::Stencil |
0x1901 |
Эквивалентно GL_STENCIL_INDEX. Добавлено в Qt 5.4 |
QOpenGLTexture::Depth |
0x1902 |
Эквивалентно GL_DEPTH_COMPONENT |
QOpenGLTexture::DepthStencil |
0x84F9 |
Эквивалентно GL_DEPTH_STENCIL |
QOpenGLTexture::Alpha |
0x1906 |
Эквивалентно GL_ALPHA (только OpenGL ES 2) |
QOpenGLTexture::Luminance |
0x1909 |
Эквивалентно GL_LUMINANCE (только OpenGL ES 2) |
QOpenGLTexture::LuminanceAlpha |
0x190A |
Эквивалентно GL_LUMINANCE_ALPHA (только OpenGL ES 2) |
enum QOpenGLTexture::PixelType
Это перечисление определяет возможные типы данных пикселей для операции передачи пикселей
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::NoPixelType |
0 |
Эквивалентно GL_NONE |
QOpenGLTexture::Int8 |
0x1400 |
Эквивалентно GL_BYTE |
QOpenGLTexture::UInt8 |
0x1401 |
Эквивалентно GL_UNSIGNED_BYTE |
QOpenGLTexture::Int16 |
0x1402 |
Эквивалентно GL_SHORT |
QOpenGLTexture::UInt16 |
0x1403 |
Эквивалентно GL_UNSIGNED_SHORT |
QOpenGLTexture::Int32 |
0x1404 |
Эквивалентно GL_INT |
QOpenGLTexture::UInt32 |
0x1405 |
Эквивалентно GL_UNSIGNED_INT |
QOpenGLTexture::Float16 |
0x140B |
Эквивалентно GL_HALF_FLOAT |
QOpenGLTexture::Float16OES |
0x8D61 |
Эквивалентно GL_HALF_FLOAT_OES |
QOpenGLTexture::Float32 |
0x1406 |
Эквивалентно GL_FLOAT |
QOpenGLTexture::UInt32_RGB9_E5 |
0x8C3E |
Эквивалентно GL_UNSIGNED_INT_5_9_9_9_REV |
QOpenGLTexture::UInt32_RG11B10F |
0x8C3B |
Эквивалентно GL_UNSIGNED_INT_10F_11F_11F_REV |
QOpenGLTexture::UInt8_RG3B2 |
0x8032 |
Эквивалентно GL_UNSIGNED_BYTE_3_3_2 |
QOpenGLTexture::UInt8_RG3B2_Rev |
0x8362 |
Эквивалентно GL_UNSIGNED_BYTE_2_3_3_REV |
QOpenGLTexture::UInt16_RGB5A1 |
0x8034 |
Эквивалентно GL_UNSIGNED_SHORT_5_5_5_1 |
QOpenGLTexture::UInt16_RGB5A1_Rev |
0x8366 |
Эквивалентно GL_UNSIGNED_SHORT_1_5_5_5_REV |
QOpenGLTexture::UInt16_R5G6B5 |
0x8363 |
Эквивалентно GL_UNSIGNED_SHORT_5_6_5 |
QOpenGLTexture::UInt16_R5G6B5_Rev |
0x8364 |
Эквивалентно GL_UNSIGNED_SHORT_5_6_5_REV |
QOpenGLTexture::UInt16_RGBA4 |
0x8033 |
Эквивалентно GL_UNSIGNED_SHORT_4_4_4_4 |
QOpenGLTexture::UInt16_RGBA4_Rev |
0x8365 |
Эквивалентно GL_UNSIGNED_SHORT_4_4_4_4_REV |
QOpenGLTexture::UInt32_RGBA8 |
0x8035 |
Эквивалентно GL_UNSIGNED_INT_8_8_8_8 |
QOpenGLTexture::UInt32_RGBA8_Rev |
0x8367 |
Эквивалентно GL_UNSIGNED_INT_8_8_8_8_REV |
QOpenGLTexture::UInt32_RGB10A2 |
0x8036 |
Эквивалентно GL_UNSIGNED_INT_10_10_10_2 |
QOpenGLTexture::UInt32_RGB10A2_Rev |
0x8368 |
Эквивалентно GL_UNSIGNED_INT_2_10_10_10_REV |
QOpenGLTexture::UInt32_D24S8 |
0x84FA |
Эквивалентно GL_UNSIGNED_INT_24_8. Добавлено в Qt 5.4 |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 |
0x8DAD |
Эквивалентно GL_FLOAT_32_UNSIGNED_INT_24_8_REV. Добавлено в Qt 5.4 |
enum QOpenGLTexture::SwizzleComponent
Это перечисление определяет компоненты цвета текстуры, которым может быть назначена маска перестановки.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::SwizzleRed |
0x8E42 |
Красный компонент. Эквивалентно GL_TEXTURE_SWIZZLE_R |
QOpenGLTexture::SwizzleGreen |
0x8E43 |
Зелёный компонент. Эквивалентно GL_TEXTURE_SWIZZLE_G |
QOpenGLTexture::SwizzleBlue |
0x8E44 |
Синий компонент. Эквивалентно GL_TEXTURE_SWIZZLE_B |
QOpenGLTexture::SwizzleAlpha |
0x8E45 |
Альфа-компонент. Эквивалентно GL_TEXTURE_SWIZZLE_A |
enum QOpenGLTexture::SwizzleValue
Этот перечисление определяет возможные значения маски для сдвигового кодирования текстуры.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::RedValue |
0x1903 |
Сопоставляет компонент с красным каналом. Эквивалентно GL_RED |
QOpenGLTexture::GreenValue |
0x1904 |
Сопоставляет компонент с зелёным каналом. Эквивалентно GL_GREEN |
QOpenGLTexture::BlueValue |
0x1905 |
Сопоставляет компонент с синим каналом. Эквивалентно GL_BLUE |
QOpenGLTexture::AlphaValue |
0x1906 |
Сопоставляет компонент с альфа-каналом. Эквивалентно GL_ALPHA |
QOpenGLTexture::ZeroValue |
0 |
Сопоставляет компонент с фиксированным значением 0. Эквивалентно GL_ZERO |
QOpenGLTexture::OneValue |
1 |
Сопоставляет компонент с фиксированным значением 1. Эквивалентно GL_ONE |
enum QOpenGLTexture::Target
Этот перечисление определяет целевой тип текстуры объекта QOpenGLTexture.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::Target1D |
0x0DE0 |
Одномерная текстура. Эквивалентно GL_TEXTURE_1D. |
QOpenGLTexture::Target1DArray |
0x8C18 |
Массив одномерных текстур. Эквивалентно GL_TEXTURE_1D_ARRAY |
QOpenGLTexture::Target2D |
0x0DE1 |
Двумерная текстура. Эквивалентно GL_TEXTURE_2D |
QOpenGLTexture::Target2DArray |
0x8C1A |
Массив двумерных текстур. Эквивалентно GL_TEXTURE_2D_ARRAY |
QOpenGLTexture::Target3D |
0x806F |
Трехмерная текстура. Эквивалентно GL_TEXTURE_3D |
QOpenGLTexture::TargetCubeMap |
0x8513 |
Текстура куба. Эквивалентно GL_TEXTURE_CUBE_MAP |
QOpenGLTexture::TargetCubeMapArray |
0x9009 |
Массив текстур куба. Эквивалентно GL_TEXTURE_CUBE_MAP_ARRAY |
QOpenGLTexture::Target2DMultisample |
0x9100 |
Двумерная текстура с поддержкой многократной выборки. Эквивалентно GL_TEXTURE_2D_MULTISAMPLE |
QOpenGLTexture::Target2DMultisampleArray |
0x9102 |
Массив двумерных текстур с поддержкой многократной выборки. Эквивалентно GL_TEXTURE_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::TargetRectangle |
0x84F5 |
Прямоугольная двумерная текстура. Эквивалентно GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TargetBuffer |
0x8C2A |
Текстура с данными из объекта буфера OpenGL. Эквивалентно GL_TEXTURE_BUFFER |
enum QOpenGLTexture::TextureFormat
Этот перечисление определяет возможные форматы текстур. В зависимости от вашей реализации OpenGL может быть поддержива только подмножество из них.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::NoFormat |
0 |
Эквивалентно GL_NONE |
QOpenGLTexture::R8_UNorm |
0x8229 |
Эквивалентно GL_R8 |
QOpenGLTexture::RG8_UNorm |
0x822B |
Эквивалентно GL_RG8 |
QOpenGLTexture::RGB8_UNorm |
0x8051 |
Эквивалентно GL_RGB8 |
QOpenGLTexture::RGBA8_UNorm |
0x8058 |
Эквивалентно GL_RGBA8 |
QOpenGLTexture::R16_UNorm |
0x822A |
Эквивалентно GL_R16 |
QOpenGLTexture::RG16_UNorm |
0x822C |
Эквивалентно GL_RG16 |
QOpenGLTexture::RGB16_UNorm |
0x8054 |
Эквивалентно GL_RGB16 |
QOpenGLTexture::RGBA16_UNorm |
0x805B |
Эквивалентно GL_RGBA16 |
QOpenGLTexture::R8_SNorm |
0x8F94 |
Эквивалентно GL_R8_SNORM |
QOpenGLTexture::RG8_SNorm |
0x8F95 |
Эквивалентно GL_RG8_SNORM |
QOpenGLTexture::RGB8_SNorm |
0x8F96 |
Эквивалентно GL_RGB8_SNORM |
QOpenGLTexture::RGBA8_SNorm |
0x8F97 |
Эквивалентно GL_RGBA8_SNORM |
QOpenGLTexture::R16_SNorm |
0x8F98 |
Эквивалентно GL_R16_SNORM |
QOpenGLTexture::RG16_SNorm |
0x8F99 |
Эквивалентно GL_RG16_SNORM |
QOpenGLTexture::RGB16_SNorm |
0x8F9A |
Эквивалентно GL_RGB16_SNORM |
QOpenGLTexture::RGBA16_SNorm |
0x8F9B |
Эквивалентно GL_RGBA16_SNORM |
QOpenGLTexture::R8U |
0x8232 |
Эквивалентно GL_R8UI |
QOpenGLTexture::RG8U |
0x8238 |
Эквивалентно GL_RG8UI |
QOpenGLTexture::RGB8U |
0x8D7D |
Эквивалентно GL_RGB8UI |
QOpenGLTexture::RGBA8U |
0x8D7C |
Эквивалентно GL_RGBA8UI |
QOpenGLTexture::R16U |
0x8234 |
Эквивалентно GL_R16UI |
QOpenGLTexture::RG16U |
0x823A |
Эквивалентно GL_RG16UI |
QOpenGLTexture::RGB16U |
0x8D77 |
Эквивалентно GL_RGB16UI |
QOpenGLTexture::RGBA16U |
0x8D76 |
Эквивалентно GL_RGBA16UI |
QOpenGLTexture::R32U |
0x8236 |
Эквивалентно GL_R32UI |
QOpenGLTexture::RG32U |
0x823C |
Эквивалентно GL_RG32UI |
QOpenGLTexture::RGB32U |
0x8D71 |
Эквивалентно GL_RGB32UI |
QOpenGLTexture::RGBA32U |
0x8D70 |
Эквивалентно GL_RGBA32UI |
QOpenGLTexture::R8I |
0x8231 |
Эквивалентно GL_R8I |
QOpenGLTexture::RG8I |
0x8237 |
Эквивалентно GL_RG8I |
QOpenGLTexture::RGB8I |
0x8D8F |
Эквивалентно GL_RGB8I |
QOpenGLTexture::RGBA8I |
0x8D8E |
Эквивалентно GL_RGBA8I |
QOpenGLTexture::R16I |
0x8233 |
Эквивалентно GL_R16I |
QOpenGLTexture::RG16I |
0x8239 |
Эквивалентно GL_RG16I |
QOpenGLTexture::RGB16I |
0x8D89 |
Эквивалентно GL_RGB16I |
QOpenGLTexture::RGBA16I |
0x8D88 |
Эквивалентно GL_RGBA16I |
QOpenGLTexture::R32I |
0x8235 |
Эквивалентно GL_R32I |
QOpenGLTexture::RG32I |
0x823B |
Эквивалентно GL_RG32I |
QOpenGLTexture::RGB32I |
0x8D83 |
Эквивалентно GL_RGB32I |
QOpenGLTexture::RGBA32I |
0x8D82 |
Эквивалентно GL_RGBA32I |
QOpenGLTexture::R16F |
0x822D |
Эквивалентно GL_R16F |
QOpenGLTexture::RG16F |
0x822F |
Эквивалентно GL_RG16F |
QOpenGLTexture::RGB16F |
0x881B |
Эквивалентно GL_RGB16F |
QOpenGLTexture::RGBA16F |
0x881A |
Эквивалентно GL_RGBA16F |
QOpenGLTexture::R32F |
0x822E |
Эквивалентно GL_R32F |
QOpenGLTexture::RG32F |
0x8230 |
Эквивалентно GL_RG32F |
QOpenGLTexture::RGB32F |
0x8815 |
Эквивалентно GL_RGB32F |
QOpenGLTexture::RGBA32F |
0x8814 |
Эквивалентно GL_RGBA32F |
QOpenGLTexture::RGB9E5 |
0x8C3D |
Эквивалентно GL_RGB9_E5 |
QOpenGLTexture::RG11B10F |
0x8C3A |
Эквивалентно GL_R11F_G11F_B10F |
QOpenGLTexture::RG3B2 |
0x2A10 |
Эквивалентно GL_R3_G3_B2 |
QOpenGLTexture::R5G6B5 |
0x8D62 |
Эквивалентно GL_RGB565 |
QOpenGLTexture::RGB5A1 |
0x8057 |
Эквивалентно GL_RGB5_A1 |
QOpenGLTexture::RGBA4 |
0x8056 |
Эквивалентно GL_RGBA4 |
QOpenGLTexture::RGB10A2 |
0x906F |
Эквивалентно GL_RGB10_A2UI |
QOpenGLTexture::D16 |
0x81A5 |
Эквивалентно GL_DEPTH_COMPONENT16 |
QOpenGLTexture::D24 |
0x81A6 |
Эквивалентно GL_DEPTH_COMPONENT24 |
QOpenGLTexture::D24S8 |
0x88F0 |
Эквивалентно GL_DEPTH24_STENCIL8 |
QOpenGLTexture::D32 |
0x81A7 |
Эквивалентно GL_DEPTH_COMPONENT32 |
QOpenGLTexture::D32F |
0x8CAC |
Эквивалентно GL_DEPTH_COMPONENT32F |
QOpenGLTexture::D32FS8X24 |
0x8CAD |
Эквивалентно GL_DEPTH32F_STENCIL8 |
QOpenGLTexture::S8 |
0x8D48 |
Эквивалентно GL_STENCIL_INDEX8. Введено в Qt 5.4 |
QOpenGLTexture::RGB_DXT1 |
0x83F0 |
Эквивалентно GL_COMPRESSED_RGB_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT1 |
0x83F1 |
Эквивалентно GL_COMPRESSED_RGBA_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT3 |
0x83F2 |
Эквивалентно GL_COMPRESSED_RGBA_S3TC_DXT3_EXT |
QOpenGLTexture::RGBA_DXT5 |
0x83F3 |
Эквивалентно GL_COMPRESSED_RGBA_S3TC_DXT5_EXT |
QOpenGLTexture::R_ATI1N_UNorm |
0x8DBB |
Эквивалентно GL_COMPRESSED_RED_RGTC1 |
QOpenGLTexture::R_ATI1N_SNorm |
0x8DBC |
Эквивалентно GL_COMPRESSED_SIGNED_RED_RGTC1 |
QOpenGLTexture::RG_ATI2N_UNorm |
0x8DBD |
Эквивалентно GL_COMPRESSED_RG_RGTC2 |
QOpenGLTexture::RG_ATI2N_SNorm |
0x8DBE |
Эквивалентно GL_COMPRESSED_SIGNED_RG_RGTC2 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT |
0x8E8F |
Эквивалентно GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT |
0x8E8E |
Эквивалентно GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_UNorm |
0x8E8C |
Эквивалентно GL_COMPRESSED_RGBA_BPTC_UNORM_ARB |
QOpenGLTexture::R11_EAC_UNorm |
0x9270 |
Эквивалентно GL_COMPRESSED_R11_EAC |
QOpenGLTexture::R11_EAC_SNorm |
0x9271 |
Эквивалентно GL_COMPRESSED_SIGNED_R11_EAC |
QOpenGLTexture::RG11_EAC_UNorm |
0x9272 |
Эквивалентно GL_COMPRESSED_RG11_EAC |
QOpenGLTexture::RG11_EAC_SNorm |
0x9273 |
Эквивалентно GL_COMPRESSED_SIGNED_RG11_EAC |
QOpenGLTexture::RGB8_ETC2 |
0x9274 |
Эквивалентно GL_COMPRESSED_RGB8_ETC2 |
QOpenGLTexture::SRGB8_ETC2 |
0x9275 |
Эквивалентно GL_COMPRESSED_SRGB8_ETC2 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 |
0x9276 |
Эквивалентно GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 |
0x9277 |
Эквивалентно GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::RGBA8_ETC2_EAC |
0x9278 |
Эквивалентно GL_COMPRESSED_RGBA8_ETC2_EAC |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC |
0x9279 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC |
QOpenGLTexture::RGB8_ETC1 |
0x8D64 |
Эквивалентно GL_ETC1_RGB8_OES |
QOpenGLTexture::RGBA_ASTC_4x4 |
0x93B0 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_4x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x4 |
0x93B1 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_5x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x5 |
0x93B2 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_5x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x5 |
0x93B3 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_6x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x6 |
0x93B4 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_6x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x5 |
0x93B5 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_8x5_KHR |
QOpenGLTexture::RGBA_ASTC_8x6 |
0x93B6 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_8x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x8 |
0x93B7 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_8x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x5 |
0x93B8 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_10x5_KHR |
QOpenGLTexture::RGBA_ASTC_10x6 |
0x93B9 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_10x6_KHR |
QOpenGLTexture::RGBA_ASTC_10x8 |
0x93BA |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_10x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x10 |
0x93BB |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_10x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x10 |
0x93BC |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_12x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x12 |
0x93BD |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 |
0x93D0 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 |
0x93D1 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 |
0x93D2 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 |
0x93D3 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 |
0x93D4 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 |
0x93D5 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 |
0x93D6 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 |
0x93D7 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 |
0x93D8 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 |
0x93D9 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 |
0x93DA |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 |
0x93DB |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 |
0x93DC |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 |
0x93DD |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8 |
0x8C41 |
Эквивалентно GL_SRGB8 |
QOpenGLTexture::SRGB8_Alpha8 |
0x8C43 |
Эквивалентно GL_SRGB8_ALPHA8 |
QOpenGLTexture::SRGB_DXT1 |
0x8C4C |
Эквивалентно GL_COMPRESSED_SRGB_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT1 |
0x8C4D |
Эквивалентно GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT3 |
0x8C4E |
Эквивалентно GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT |
QOpenGLTexture::SRGB_Alpha_DXT5 |
0x8C4F |
Эквивалентно GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT |
QOpenGLTexture::SRGB_BP_UNorm |
0x8E8D |
Эквивалентно GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB |
QOpenGLTexture::DepthFormat |
0x1902 |
Эквивалентно GL_DEPTH_COMPONENT (только OpenGL ES 3 или ES 2 с OES_depth_texture) |
QOpenGLTexture::AlphaFormat |
0x1906 |
Эквивалентно GL_ALPHA (только OpenGL ES 2) |
QOpenGLTexture::RGBFormat |
0x1907 |
Эквивалентно GL_RGB (только OpenGL ES 2) |
QOpenGLTexture::RGBAFormat |
0x1908 |
Эквивалентно GL_RGBA (только OpenGL ES 2) |
QOpenGLTexture::LuminanceFormat |
0x1909 |
Эквивалентно GL_LUMINANCE (только OpenGL ES 2) |
QOpenGLTexture::LuminanceAlphaFormat |
0x190A |
Эквивалентно GL_LUMINANCE_ALPHA (только OpenGL ES 2) |
enum QOpenGLTexture::TextureUnitReset
Этот перечисление определяет опции для управления активацией текстурных единиц.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::ResetTextureUnit |
0 |
Предыдущая активная текстурная единица будет сброшена |
QOpenGLTexture::DontResetTextureUnit |
1 |
Предыдущая активная текстурная единица не будет сброшена |
enum QOpenGLTexture::WrapMode
Это перечисление определяет возможные режимы обвязки координат текстуры.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::Repeat |
0x2901 |
Координата текстуры повторяется. Эквивалентно GL_REPEAT |
QOpenGLTexture::MirroredRepeat |
0x8370 |
Координата текстуры отражается относительно 0 и 1. Эквивалентно GL_MIRRORED_REPEAT |
QOpenGLTexture::ClampToEdge |
0x812F |
Координаты текстуры обрезаются до [0,1]. Эквивалентно GL_CLAMP_TO_EDGE |
QOpenGLTexture::ClampToBorder |
0x812D |
Как ClampToEdge, но также смешивает образцы в 0 и 1 с фиксированным цветом границы. Эквивалентно GL_CLAMP_TO_BORDER |
Документация по функциям-членам
QOpenGLTexture::QOpenGLTexture(Target target)
Создаёт объект QOpenGLTexture, который впоследствии может быть привязан к target.
Это не создаёт подлежащий OpenGL-объект текстуры. Поэтому создание с помощью этого конструктора не требует валидного текущего OpenGL-контекста.
QOpenGLTexture::QOpenGLTexture(const QImage &image, MipMapGeneration genMipMaps = GenerateMipMaps)
Создаёт объект QOpenGLTexture, который впоследствии может быть привязан к 2D-текстурному целевому объекту и содержит данные пикселей, содержащиеся в image. Если вы хотите иметь цепочку мип-уровней, то установите genMipMaps в true (это значение по умолчанию).
Это создаёт подлежащий OpenGL-объект текстуры. Поэтому создание с помощью этого конструктора требует валидного текущего OpenGL-контекста.
QOpenGLTexture::~QOpenGLTexture()
Уничтожает экземпляр QOpenGLTexture.
void QOpenGLTexture::allocateStorage()
Выделяет хранилище на стороне сервера для этого объекта текстуры, учитывая формат, размеры, уровни мип-карты, слои массива и грани куба.
После выделения хранилища изменить эти свойства больше нельзя.
Если поддерживается, QOpenGLTexture использует неизменяемое хранилище текстур.
После выделения хранилища для текстуры данные пикселей могут быть загружены с помощью одного из перегруженных методов setData().
Примечание: Если неизменяемое хранилище текстур недоступно, то будет использован стандартный формат и тип пикселей для создания изменяемого хранилища. Вы можете использовать другую перегрузку allocateStorage(), чтобы указать точный формат и тип пикселей при выделении изменяемого хранилища; это особенно полезно в некоторых реализациях OpenGL ES (в частности, OpenGL ES 2), где формат и тип пикселей, используемые при выделении, должны точно соответствовать формату и типу, передаваемым в последующий вызов setData().
См. также isStorageAllocated() и setData().
void QOpenGLTexture::allocateStorage(PixelFormat pixelFormat, PixelType pixelType)
Выделяет хранилище на стороне сервера для этого объекта текстуры, учитывая формат, размеры, уровни мип-карты, слои массива и грани куба.
После выделения хранилища изменить эти свойства больше нельзя.
Если поддерживается, QOpenGLTexture использует неизменяемое хранилище текстур. Однако, если неизменяемое хранилище текстур недоступно, то указанные pixelFormat и pixelType будут использованы для выделения изменяемого хранилища; обратите внимание, что в некоторых реализациях OpenGL (в частности, OpenGL ES 2) они должны точно соответствовать формату и типу, передаваемым в последующий вызов setData().
После выделения хранилища для текстуры данные пикселей могут быть загружены с помощью одного из перегруженных методов setData().
Эта функция была добавлена в Qt 5.5.
См. также isStorageAllocated() и setData().
void QOpenGLTexture::bind()
Привязывает эту текстуру к текущей активной текстурной единице, готовой к отрисовке. Обратите внимание, что вам не нужно привязывать объекты QOpenGLTexture для их изменения, так как реализация использует расширение EXT_direct_state_access, где доступно, и имитирует его там, где это не так.
См. также release().
void QOpenGLTexture::bind(uint unit, TextureUnitReset reset = DontResetTextureUnit)
Привязывает эту текстуру к текстурной единице unit, готовой к отрисовке. Обратите внимание, что вам не нужно привязывать объекты QOpenGLTexture для их изменения, так как реализация использует расширение EXT_direct_state_access, где доступно, и имитирует его там, где это не так.
Если параметр reset равен true, эта функция восстановит активную единицу до текстурной единицы, которая была активной при входе.
См. также release().
QColor QOpenGLTexture::borderColor() const
Возвращает цвет границы текстуры.
См. также setBorderColor().
void QOpenGLTexture::borderColor(float *border) const
Записывает цвет границы текстуры в первые четыре элемента массива, на который указывает border.
См. также setBorderColor().
void QOpenGLTexture::borderColor(int *border) const
Записывает цвет границы текстуры в первые четыре элемента массива, на который указывает border.
Это перегруженная функция.
void QOpenGLTexture::borderColor(unsigned int *border) const
Записывает цвет границы текстуры в первые четыре элемента массива, на который указывает border.
Это перегруженная функция.
[static] GLuint QOpenGLTexture::boundTextureId(BindingTarget target)
Возвращает идентификатор текстуры, привязанной к target текущей активной текстурной единицы.
[static] GLuint QOpenGLTexture::boundTextureId(uint unit, BindingTarget target)
Возвращает идентификатор текстуры, привязанной к target текстурной единицы unit.
ComparisonFunction QOpenGLTexture::comparisonFunction() const
Возвращает оператор сравнения текстуры, установленный для этой текстуры. По умолчанию у текстуры установлен оператор сравнения CompareLessEqual.
Эта функция была добавлена в Qt 5.5.
См. также setComparisonFunction().
ComparisonMode QOpenGLTexture::comparisonMode() const
Возвращает режим сравнения текстуры, установленный для этой текстуры. По умолчанию у текстуры установлен режим сравнения CompareNone (т.е. сравнения отключены).
Эта функция была добавлена в Qt 5.5.
См. также setComparisonMode().
bool QOpenGLTexture::create()
Создаёт подлежащий OpenGL-объект текстуры. Для этого требуется текущий и валидный OpenGL-контекст. Если объект текстуры уже существует, эта функция ничего не делает.
После создания объекта текстуры вы можете получить имя объекта из функции textureId(). Это может быть полезно, если вы хотите выполнить некоторые прямые OpenGL-вызовы, относящиеся к этой текстуре.
Как правило, вызывать эту функцию напрямую не нужно, так как все функции, устанавливающие свойства объекта текстуры, неявно вызывают create() от вашего имени.
Возвращает true, если создание прошло успешно, в противном случае возвращает false.
См. также destroy(), isCreated(), и textureId().
END_OF_DOCUMENT_MARKERQOpenGLTexture *QOpenGLTexture::createTextureView(Target target, TextureFormat viewFormat, int minimumMipmapLevel, int maximumMipmapLevel, int minimumLayer, int maximumLayer) const
Попытка создать представление текстуры на этой текстуре. Представление текстуры несколько аналогично представлению в SQL, так как оно предоставляет ограниченное или переинтерпретированное представление исходных данных. Представления текстур не выделяют дополнительного хранилища на стороне сервера, вместо этого полагаясь на буфер хранения исходной текстуры.
Представления текстур доступны только при использовании неизменяемого хранилища. Для получения дополнительной информации о представлениях текстур см. http://www.opengl.org/wiki/Texture_Storage#Texture_views.
Аргумент target указывает целевой объект для представления. В зависимости от целевого объекта исходной текстуры могут быть использованы только некоторые целевые объекты. Например, представление текстуры Target1DArray может указывать либо Target1DArray, либо Target1D, но в последнем случае количество слоёв массива, указанных с помощью minimumLayer и maximumLayer, должно быть ровно 1.
Аналогичные ограничения применяются к viewFormat. Дополнительные сведения см. по ссылке выше и в спецификации.
Аргументы minimumMipmapLevel, maximumMipmapLevel, minimumLayer и maximumLayer служат для ограничения частей текстуры, доступных для представления текстуры.
Если создание представления текстуры не удаётся, эта функция вернёт 0. Если функция выполнится успешно, она вернёт указатель на новый объект QOpenGLTexture, который вернёт true из своей функции isTextureView().
См. также isTextureView().
int QOpenGLTexture::depth() const
Возвращает глубину 3D-текстуры.
См. также width(), height() и setSize().
DepthStencilMode QOpenGLTexture::depthStencilMode() const
Возвращает режим глубины/шаблона для текстур, использующих объединённый формат глубины/шаблона.
Эта функция была введена в Qt 5.4.
См. также setDepthStencilMode().
void QOpenGLTexture::destroy()
Уничтожает базовый объект OpenGL текстуры. Для этого требуется текущий допустимый контекст OpenGL.
См. также create(), isCreated() и textureId().
int QOpenGLTexture::faces() const
Возвращает количество граней для этой текстуры. Для текстур типа куб и куб-массив это будет 6.
Для целевых объектов, не являющихся кубом, эта функция вернёт 1.
TextureFormat QOpenGLTexture::format() const
Возвращает формат этого объекта текстуры.
См. также setFormat().
void QOpenGLTexture::generateMipMaps()
Генерирует mipmap для этого объекта текстуры с уровня mipmap 0. Если вы используете целевой объект текстуры и опцию фильтрации, которые требуют mipmap, и вы отключили автоматическое создание mipmap, то вам необходимо вызвать эту функцию или перегрузку для создания цепочки mipmap.
Примечание: Генерация mipmap не поддерживается для сжатых текстур с OpenGL ES 2.0.
См. также setAutoMipMapGenerationEnabled(), setMipLevels() и mipLevels().
void QOpenGLTexture::generateMipMaps(int baseLevel, bool resetBaseLevel = true)
Генерирует mipmap для этого объекта текстуры с уровня mipmap baseLevel. Если вы используете целевой объект текстуры и опцию фильтрации, которые требуют mipmap, и вы отключили автоматическое создание mipmap, то вам необходимо вызвать эту функцию или перегрузку для создания цепочки mipmap.
Генерация mipmap выше baseLevel достигается путём установки базового уровня mipmap на baseLevel и последующей генерацией цепочки mipmap. Если resetBaseLevel true, то базовый уровень текстуры будет сброшен до его предыдущего значения.
См. также setAutoMipMapGenerationEnabled(), setMipLevels() и mipLevels().
[static] bool QOpenGLTexture::hasFeature(Feature feature)
Возвращает true, если ваша реализация и версия OpenGL поддерживает функцию текстуры feature.
int QOpenGLTexture::height() const
Возвращает высоту 2D- или 3D-текстуры.
См. также width(), depth() и setSize().
bool QOpenGLTexture::isAutoMipMapGenerationEnabled() const
Возвращает, включена ли автоматическая генерация mipmap для этого объекта текстуры.
См. также setAutoMipMapGenerationEnabled() и generateMipMaps().
bool QOpenGLTexture::isBound() const
Возвращает true, если эта текстура связана с соответствующим целевым объектом текущего активного блока текстуры.
bool QOpenGLTexture::isBound(uint unit)
Возвращает true, если эта текстура связана с соответствующим целевым объектом блока текстуры unit.
bool QOpenGLTexture::isCreated() const
Возвращает true, если базовый объект OpenGL текстуры был создан.
См. также create(), destroy() и textureId().
bool QOpenGLTexture::isFixedSamplePositions() const
Возвращает, использует ли эта текстура фиксированную последовательность образцов многократной выборки. Если для этой текстуры ещё не выделено хранилище, эта функция возвращает запрошенное значение фиксированной позиции выборки.
Для целевых объектов текстур, не поддерживающих многократную выборку, эта функция вернёт true.
См. также setFixedSamplePositions() и isStorageAllocated().
bool QOpenGLTexture::isStorageAllocated() const
Возвращает true, если хранилище на стороне сервера для этой текстуры было выделено.
Формат текстуры, размеры, уровни mipmap и слои массива не могут быть изменены после выделения хранилища.
См. также allocateStorage(), setSize(), setMipLevels(), setLayers() и setFormat().
bool QOpenGLTexture::isTextureView() const
Возвращает true, если этот объект текстуры фактически является представлением другой текстуры.
См. также createTextureView().
int QOpenGLTexture::layers() const
Возвращает количество слоёв массива для этой текстуры. Если для этой текстуры ещё не выделено хранилище, эта функция возвращает запрошенное количество слоёв массива.
Для целевых объектов текстур, не поддерживающих слои массива, эта функция вернёт 1.
См. также setLayers() и isStorageAllocated().
QPair<float, float> QOpenGLTexture::levelOfDetailRange() const
Возвращает минимальные и максимальные параметры уровня детализации.
См. также setLevelOfDetailRange(), minimumLevelOfDetail() и maximumLevelOfDetail().
float QOpenGLTexture::levelofDetailBias() const
Возвращает параметр смещения уровня детализации.
См. также setLevelofDetailBias().
Filter QOpenGLTexture::magnificationFilter() const
Возвращает фильтр увеличения.
См. также setMagnificationFilter().
float QOpenGLTexture::maximumAnisotropy() const
Возвращает максимальный уровень анизотропии, который необходимо учитывать при выполнении запросов к текстуре. Для этого требуется расширение GL_EXT_texture_filter_anisotropic.
См. также setMaximumAnisotropy().
float QOpenGLTexture::maximumLevelOfDetail() const
Возвращает максимальное значение параметра детализации.
См. также setMaximumLevelOfDetail(), minimumLevelOfDetail() и levelOfDetailRange().
int QOpenGLTexture::maximumMipLevels() const
Возвращает максимальное количество уровней mipmap, которые может иметь эта текстура при текущих размерах.
См. также setMipLevels(), mipLevels() и setSize().
QPair<Filter, Filter> QOpenGLTexture::minMagFilters() const
Возвращает текущие фильтры уменьшения и увеличения.
См. также setMinMagFilters().
Filter QOpenGLTexture::minificationFilter() const
Возвращает фильтр уменьшения.
См. также setMinificationFilter().
float QOpenGLTexture::minimumLevelOfDetail() const
Возвращает минимальное значение параметра детализации.
См. также setMinimumLevelOfDetail(), maximumLevelOfDetail() и levelOfDetailRange().
int QOpenGLTexture::mipBaseLevel() const
Возвращает базовый уровень mipmap, используемый для всех запросов к текстуре с помощью этой текстуры. По умолчанию это 0.
См. также setMipBaseLevel(), mipMaxLevel() и mipLevelRange().
QPair<int, int> QOpenGLTexture::mipLevelRange() const
Возвращает диапазон уровней mipmap, которые могут быть использованы для запросов к текстуре с помощью этой текстуры.
См. также setMipLevelRange(), mipBaseLevel() и mipMaxLevel().
int QOpenGLTexture::mipLevels() const
Возвращает количество уровней mipmap для этой текстуры. Если хранилище для этой текстуры ещё не выделено, возвращает запрошенное количество уровней mipmap.
См. также setMipLevels(), maximumMipLevels() и isStorageAllocated().
int QOpenGLTexture::mipMaxLevel() const
Возвращает максимальный уровень mipmap, используемый для всех запросов к текстуре с помощью этой текстуры.
См. также setMipMaxLevel(), mipBaseLevel() и mipLevelRange().
void QOpenGLTexture::release()
Отвязывает эту текстуру от текущего активного блока текстур.
См. также bind().
void QOpenGLTexture::release(uint unit, TextureUnitReset reset = DontResetTextureUnit)
Отвязывает эту текстуру от блока текстур unit.
Если параметр reset равен true, эта функция восстановит активный блок до блока текстур, который был активен при входе.
int QOpenGLTexture::samples() const
Возвращает количество точек выборки многообразной выборки для этой текстуры. Если хранилище для этой текстуры ещё не выделено, эта функция возвращает запрошенное количество выборок.
Для целей текстур, которые не поддерживают многообразную выборку, это будет 0.
См. также setSamples() и isStorageAllocated().
void QOpenGLTexture::setAutoMipMapGenerationEnabled(bool enabled)
Если enabled равно true, включает автоматическое создание mipmap для этого объекта текстуры всякий раз, когда данные mipmap уровня 0 устанавливаются через setData().
Автоматическое создание mipmap включено по умолчанию.
Примечание: Создание mipmap не поддерживается для сжатых текстур с OpenGL ES 2.0.
См. также isAutoMipMapGenerationEnabled() и generateMipMaps().
void QOpenGLTexture::setBorderColor(QColor color)
Устанавливает цвет границы текстуры в color.
Примечание: Эта функция не имеет эффекта на Mac и Qt, построенных для OpenGL ES 2.
См. также borderColor().
void QOpenGLTexture::setBorderColor(float r, float g, float b, float a)
Устанавливает цвет красный в r, зелёный в g, синий в b, и альфа-значение в a.
Это перегруженная функция.
void QOpenGLTexture::setBorderColor(int r, int g, int b, int a)
Устанавливает цвет красный в r, зелёный в g, синий в b, и альфа-значение в a.
Это перегруженная функция.
void QOpenGLTexture::setBorderColor(uint r, uint g, uint b, uint a)
Устанавливает цвет красный в r, зелёный в g, синий в b, и альфа-значение в a.
Это перегруженная функция.
void QOpenGLTexture::setComparisonFunction(ComparisonFunction function)
См. также comparisonFunction().
void QOpenGLTexture::setComparisonMode(ComparisonMode mode)
Устанавливает режим сравнения текстуры для этой текстуры в mode. Режим сравнения текстуры используется шейдерами теней при выборке глубинной текстуры.
Эта функция была добавлена в Qt 5.5.
См. также comparisonMode().
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Загружает сжатые пиксельные данные data в mipLevel, массив layer и cubeFace. Передача пикселей может быть дополнительно контролируема с помощью options. Аргумент dataSize должен указывать размер данных, на которые указывает data.
Если не используется сжатый формат format(), используйте setData() вместо этой функции.
Эта функция была добавлена в Qt 5.3.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int layerCount, CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Это перегруженная функция.
Параметр layerCount — количество слоёв в массиве текстур, которые загружаются/заполняются этим вызовом.
Эта функция была добавлена в Qt 5.9.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Это перегруженная функция.
void QOpenGLTexture::setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Это перегруженная функция.
void QOpenGLTexture::setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Это перегруженный метод.
void QOpenGLTexture::setData(int mipLevel, int layer, CubeMapFace cubeFace, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Загружает пиксельные данные data для данного объекта текстуры mipLevel, массива layer и cubeFace. Память для хранения пиксельных данных должна быть выделена до загрузки. Некоторые перегрузки метода setData() зададут соответствующие размеры, уровни mipmap и слои массива, а затем выделят память для вас, если у них достаточно информации для этого. Это будет указано в документации функции.
Структура пиксельных данных, на которые указывает data, задаётся параметрами sourceFormat и sourceType. Загрузка пиксельных данных может быть дополнительно управлена параметром options.
Если используется сжатый формат(), следует использовать setCompressedData() вместо этой функции.
Функция была добавлена в Qt 5.3.
См. также setCompressedData().
void QOpenGLTexture::setData(int mipLevel, int layer, int layerCount, CubeMapFace cubeFace, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Это перегруженный метод.
Параметр layerCount указывает количество слоёв в массиве текстур, которые загружаются/заполняются этим вызовом.
Функция была добавлена в Qt 5.9.
void QOpenGLTexture::setData(int mipLevel, int layer, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Это перегруженный метод.
Функция была добавлена в Qt 5.3.
void QOpenGLTexture::setData(int mipLevel, PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Это перегруженный метод.
Функция была добавлена в Qt 5.3.
void QOpenGLTexture::setData(PixelFormat sourceFormat, PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions * const options = Q_NULLPTR)
Это перегруженный метод.
Функция была добавлена в Qt 5.3.
void QOpenGLTexture::setData(const QImage &image, MipMapGeneration genMipMaps = GenerateMipMaps)
Эта перегрузка метода setData() выделит память для вас. Пиксельные данные содержатся в image. Mip-уровни генерируются по умолчанию. Установите genMipMaps в DontGenerateMipMaps, чтобы отключить генерацию mip-уровней.
Это перегруженный метод.
void QOpenGLTexture::setDepthStencilMode(DepthStencilMode mode)
Если используется текстура с объединённым форматом depth/stencil, эта функция устанавливает, какой компонент текстуры будет доступен в mode.
Когда параметр установлен в DepthMode, при обращении к текстуре в шейдере будет доступен компонент глубины как одиночный float, как обычно. Но когда параметр установлен в StencilMode, шейдер будет обращаться к компоненту трафарета.
Примечание: Эта функция не имеет эффекта на Mac и Qt, скомпилированные для OpenGL ES 2.
Функция была добавлена в Qt 5.4.
См. также depthStencilMode().
void QOpenGLTexture::setFixedSamplePositions(bool fixed)
Устанавливает, будут ли позиции образцов и количество образцов, используемых с поддержкой многократной выборки, фиксированными для текстуры целевого типа fixed. Если установлено true, позиции образцов и количество образцов одинаковы для всех текселей в изображении и не зависят от размера изображения или внутреннего формата. Эту функцию следует вызывать до выделения памяти для текстуры.
Для целей, которые не поддерживают многократную выборку, эта функция не имеет эффекта.
Значение по умолчанию равно true.
См. также isFixedSamplePositions() и isStorageAllocated().
void QOpenGLTexture::setFormat(TextureFormat format)
Устанавливает формат этой текстуры в format. Эту функцию необходимо вызвать до выделения памяти для текстуры.
Обратите внимание, что не все форматы могут быть поддерживаемы. Точный набор поддерживаемых форматов зависит от вашей реализации OpenGL и версии.
См. также format() и allocateStorage().
void QOpenGLTexture::setLayers(int layers)
Устанавливает количество слоёв массива layers, для которых выделяется память. Эту функцию следует вызывать до выделения памяти для текстуры.
Для целей, которые не поддерживают слои массива, эта функция не имеет эффекта.
См. также layers() и isStorageAllocated().
void QOpenGLTexture::setLevelOfDetailRange(float min, float max)
Устанавливает минимальный уровень детализации в min и максимальный в max.
Примечание: Эта функция не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также levelOfDetailRange(), setMinimumLevelOfDetail() и setMaximumLevelOfDetail().
void QOpenGLTexture::setLevelofDetailBias(float bias)
Устанавливает смещение уровня детализации в bias. Смещение уровня детализации влияет на момент изменения уровней mipmapping. Увеличение значений смещения уровня детализации делает общее изображение размытым или более плавным. Уменьшение значений делает общее изображение более резким.
Примечание: Эта функция не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также levelofDetailBias().
void QOpenGLTexture::setMagnificationFilter(Filter filter)
Устанавливает фильтр увеличения в filter.
См. также magnificationFilter(), setMinificationFilter() и setMinMagFilters().
void QOpenGLTexture::setMaximumAnisotropy(float anisotropy)
Если ваша реализация OpenGL поддерживает расширение GL_EXT_texture_filter_anisotropic, эта функция устанавливает максимальный уровень анизотропии в anisotropy.
См. также maximumAnisotropy().
void QOpenGLTexture::setMaximumLevelOfDetail(float value)
Устанавливает максимальный уровень детализации в value. Это ограничивает выбор mip-уровня наименьшего разрешения (наивысшего уровня mipmap). Значение по умолчанию равно 1000.
Примечание: Эта функция не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также maximumLevelOfDetail(), setMinimumLevelOfDetail() и setLevelOfDetailRange().
void QOpenGLTexture::setMinMagFilters(Filter minificationFilter, Filter magnificationFilter)
Устанавливает фильтр уменьшения в minificationFilter и фильтр увеличения в magnificationFilter.
См. также minMagFilters(), setMinificationFilter(), и setMagnificationFilter().
void QOpenGLTexture::setMinificationFilter(Filter filter)
Устанавливает фильтр, используемый для уменьшения изображения, на filter.
См. также minificationFilter(), setMagnificationFilter(), и setMinMagFilters().
void QOpenGLTexture::setMinimumLevelOfDetail(float value)
Устанавливает минимальный уровень детализации на value. Это ограничит выбор mipmap с наивысшим разрешением (самый низкий уровень mipmap). Значение по умолчанию -1000.
Примечание: Эта функция не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также minimumLevelOfDetail(), setMaximumLevelOfDetail(), и setLevelOfDetailRange().
void QOpenGLTexture::setMipBaseLevel(int baseLevel)
Устанавливает базовый уровень mipmap, используемый для всех запросов к текстуре с этой текстурой, на baseLevel.
Примечание: Эта функция не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также mipBaseLevel(), setMipMaxLevel(), и setMipLevelRange().
void QOpenGLTexture::setMipLevelRange(int baseLevel, int maxLevel)
Устанавливает диапазон уровней mipmap, которые могут быть использованы для запросов к текстуре с этой текстурой, в диапазоне от baseLevel до maxLevel.
Примечание: Эта функция не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также setMipBaseLevel(), setMipMaxLevel(), и mipLevelRange().
void QOpenGLTexture::setMipLevels(int levels)
Для текстурных целей, поддерживающих mipmap, эта функция устанавливает требуемое количество уровней mipmap levels для выделения памяти. Эту функцию следует вызывать до выделения памяти для текстуры.
Если целевая текстура не поддерживает mipmap, эта функция не имеет эффекта.
См. также mipLevels(), maximumMipLevels(), и isStorageAllocated().
void QOpenGLTexture::setMipMaxLevel(int maxLevel)
Устанавливает максимальный уровень mipmap, используемый для всех запросов к текстуре с этой текстурой, на maxLevel.
Примечание: Эта функция не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также mipMaxLevel(), setMipBaseLevel(), и setMipLevelRange().
void QOpenGLTexture::setSamples(int samples)
Устанавливает количество samples для выделения памяти при отрисовке в многообразную текстуру, поддерживающую выборки. Эту функцию следует вызывать до выделения памяти для текстуры.
Для целей, которые не поддерживают многообразное выборки, эта функция не имеет эффекта.
См. также samples() и isStorageAllocated().
void QOpenGLTexture::setSize(int width, int height = 1, int depth = 1)
Устанавливает размеры этого объекта текстуры на width, height и depth. Значение по умолчанию для каждого измерения — 1. Максимально допустимый размер текстуры зависит от вашей реализации OpenGL. Выделение памяти для текстуры меньше максимального размера всё ещё может завершиться ошибкой, если на вашем компьютере мало ресурсов.
См. также width(), height(), и depth().
void QOpenGLTexture::setSwizzleMask(SwizzleComponent component, SwizzleValue value)
GLSL-шейдеры могут переупорядочить компоненты vec4, возвращаемые функциями текстур. Желательно также иметь возможность управлять этим переупорядочиванием из кода на стороне процессора. Это становится возможным благодаря маскам переупорядочивания с OpenGL 3.3.
Каждый компонент текстуры может быть сопоставлен с одним из вариантов SwizzleValue.
Эта функция сопоставляет component с выходным value.
Примечание: Эта функция не имеет эффекта в Mac и Qt, скомпилированном для OpenGL ES 2.
См. также swizzleMask().
void QOpenGLTexture::setSwizzleMask(SwizzleValue r, SwizzleValue g, SwizzleValue b, SwizzleValue a)
Параметры r, g, b и a используются для установки цветов красного, зеленого, синего и значения альфа.
Это перегруженная функция.
void QOpenGLTexture::setWrapMode(WrapMode mode)
Устанавливает режим обертывания (или повторения) для всех измерений текстуры на mode.
См. также wrapMode().
void QOpenGLTexture::setWrapMode(CoordinateDirection direction, WrapMode mode)
Удерживает измерение текстуры direction.
Это перегруженная функция.
SwizzleValue QOpenGLTexture::swizzleMask(SwizzleComponent component) const
Возвращает маску переупорядочивания для текстурного component.
См. также setSwizzleMask().
Target QOpenGLTexture::target() const
Возвращает целевой тип привязки этой текстуры.
Эта функция была введена в Qt 5.4.
GLuint QOpenGLTexture::textureId() const
Возвращает имя базового OpenGL-объекта текстуры или 0, если он ещё не был создан.
См. также create(), destroy(), и isCreated().
int QOpenGLTexture::width() const
Возвращает ширину 1D, 2D или 3D текстуры.
См. также height(), depth(), и setSize().
WrapMode QOpenGLTexture::wrapMode(CoordinateDirection direction) const
Возвращает режим обертывания для измерения текстуры direction.
См. также setWrapMode().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qopengltexture.html