Класс QOpenGLTexture
Класс QOpenGLTexture инкапсулирует объект текстуры OpenGL. Подробнее...
| Заголовок: | #include <QOpenGLTexture> |
| С версии: | Qt 5.2 |
Публичные типы
| перечисление | BindingTarget { BindingTarget1D, BindingTarget1DArray, BindingTarget2D, BindingTarget2DArray, BindingTarget3D, …, BindingTargetBuffer } |
| перечисление | ComparisonFunction { CompareLessEqual, CompareGreaterEqual, CompareLess, CompareGreater, CompareEqual, …, CompareNever } |
| перечисление | ComparisonMode { CompareRefToTexture, CompareNone } |
| перечисление | CoordinateDirection { DirectionS, DirectionT, DirectionR } |
| перечисление | CubeMapFace { CubeMapPositiveX, CubeMapNegativeX, CubeMapPositiveY, CubeMapNegativeY, CubeMapPositiveZ, CubeMapNegativeZ } |
| перечисление | DepthStencilMode { DepthMode, StencilMode } |
| перечисление | Feature { ImmutableStorage, ImmutableMultisampleStorage, TextureRectangle, TextureArrays, Texture3D, …, TextureMipMapLevel } |
| флаги | Features |
| перечисление | Filter { Nearest, Linear, NearestMipMapNearest, NearestMipMapLinear, LinearMipMapNearest, LinearMipMapLinear } |
| перечисление | MipMapGeneration { GenerateMipMaps, DontGenerateMipMaps } |
| перечисление | PixelFormat { NoSourceFormat, Red, RG, RGB, BGR, …, LuminanceAlpha } |
| перечисление | PixelType { NoPixelType, Int8, UInt8, Int16, UInt16, …, Float32_D32_UInt32_S8_X24 } |
| перечисление | SwizzleComponent { SwizzleRed, SwizzleGreen, SwizzleBlue, SwizzleAlpha } |
| перечисление | SwizzleValue { RedValue, GreenValue, BlueValue, AlphaValue, ZeroValue, OneValue } |
| перечисление | Target { Target1D, Target1DArray, Target2D, Target2DArray, Target3D, …, TargetBuffer } |
| перечисление | TextureFormat { NoFormat, R8_UNorm, RG8_UNorm, RGB8_UNorm, RGBA8_UNorm, …, LuminanceAlphaFormat } |
| перечисление | TextureUnitReset { ResetTextureUnit, DontResetTextureUnit } |
| перечисление | WrapMode { Repeat, MirroredRepeat, ClampToEdge, ClampToBorder } |
Публичные функции
| QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps) | |
| QOpenGLTexture(QOpenGLTexture::Target target) | |
| 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 | глубина() const |
| QOpenGLTexture::DepthStencilMode | режимГлубиныИШаблона() const |
| void | уничтожить() |
| int | граней() const |
| QOpenGLTexture::TextureFormat | формат() const |
| void | сгенерироватьMipКарты() |
| void | сгенерироватьMipКарты(int baseLevel, bool resetBaseLevel = true) |
| int | высота() const |
| bool | естьАвтоматическоеСозданиеMipКарт() const |
| bool | привязано() const |
| bool | привязано(uint unit) |
| bool | создано() const |
| bool | фиксированныеПозицииСэмплов() const |
| bool | хранилищеВыделено() const |
| bool | представлениеТекстуры() const |
| int | слои() const |
| QPair<float, float> | диапазонУровнейПодробностей() const |
| float | смещениеУровнейПодробностей() const |
| QOpenGLTexture::Filter | фильтрУвеличения() const |
| float | максимальнаяИзотропия() const |
| float | максимальныйУровеньПодробностей() const |
| int | максимальноеКоличествоMipУровней() const |
| QPair<QOpenGLTexture::Filter, QOpenGLTexture::Filter> | фильтрыМинимальноеУвеличение() const |
| QOpenGLTexture::Filter | фильтрУменьшения() const |
| float | минимальныйУровеньПодробностей() const |
| int | базовыйMipУровень() const |
| QPair<int, int> | диапазонMipУровней() const |
| int | количествоMipУровней() const |
| int | максимальныйMipУровень() const |
| void | освободить() |
| void | освободить(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit) |
| int | образцы() const |
| void | включитьАвтоматическоеСозданиеMipКарт(bool enabled) |
| void | установитьЦветГраницы(const QColor &color) |
| void | установитьЦветГраницы(float r, float g, float b, float a) |
| void | установитьЦветГраницы(int r, int g, int b, int a) |
| void | установитьЦветГраницы(uint r, uint g, uint b, uint a) |
| void | установитьФункциюСравнения(QOpenGLTexture::ComparisonFunction function) |
| void | установитьРежимСравнения(QOpenGLTexture::ComparisonMode mode) |
| void | установитьСжатыеДанные(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | установитьСжатыеДанные(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, 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 dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(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(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 mipLevel, int layer, 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(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 | setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps) |
| 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 |
Статические открытые члены
| GLuint | boundTextureId(QOpenGLTexture::BindingTarget target) |
| GLuint | boundTextureId(uint unit, QOpenGLTexture::BindingTarget target) |
| bool | hasFeature(QOpenGLTexture::Feature feature) |
Подробное описание
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. Другим вариантом является преобразование ваших текстурных координат.
Документация типов членов
enum 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 |
[since 5.5] 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.
[since 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 |
[since 5.4] 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 |
Поддержка 3-мерного целевого объекта текстуры |
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 |
Поддержка 1-мерного целевого объекта текстуры |
QOpenGLTexture::TextureComparisonOperators |
0x00004000 |
Поддержка операторов сравнения текстур |
QOpenGLTexture::TextureMipMapLevel |
0x00008000 |
Поддержка установки базовых и максимальных уровней mipmap |
Тип Features — это typedef для QFlags<Feature>. Он хранит логическое ИЛИ сочетание значений Feature.
enum 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 |
перечисление 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 |
перечисление 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 |
перечисление 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 |
перечисление 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
This enum defines options to control texture unit activation.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::ResetTextureUnit |
0 |
The previous active texture unit will be reset |
QOpenGLTexture::DontResetTextureUnit |
1 |
The previous active texture unit will not be reset |
enum QOpenGLTexture::WrapMode
This enum defines the possible texture coordinate wrapping modes.
| Constant | Value | Description |
|---|---|---|
QOpenGLTexture::Repeat |
0x2901 |
Texture coordinate is repeated. Equivalent to GL_REPEAT |
QOpenGLTexture::MirroredRepeat |
0x8370 |
Texture coordinate is reflected about 0 and 1. Equivalent to GL_MIRRORED_REPEAT |
QOpenGLTexture::ClampToEdge |
0x812F |
Clamps the texture coordinates to [0,1]. Equivalent to GL_CLAMP_TO_EDGE |
QOpenGLTexture::ClampToBorder |
0x812D |
As for ClampToEdge but also blends samples at 0 and 1 with a fixed border color. Equivalent to GL_CLAMP_TO_BORDER |
Документация по функциям-членам
QOpenGLTexture::QOpenGLTexture(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
Creates a QOpenGLTexture object, which can be later bound to the 2D texture target and contains the pixel data contained in image. If you wish to have a chain of mipmaps generated then set genMipMaps to true (this is the default).
This does create the underlying OpenGL texture object. Therefore, construction using this constructor does require a valid current OpenGL context.
QOpenGLTexture::QOpenGLTexture(QOpenGLTexture::Target target)
Creates a QOpenGLTexture object that can later be bound to target.
This does not create the underlying OpenGL texture object. Therefore, construction using this constructor does not require a valid current OpenGL context.
void QOpenGLTexture::allocateStorage()
Allocates server-side storage for this texture object, taking into account the format, dimensions, mipmap levels, array layers, and cubemap faces.
Once storage has been allocated, it is no longer possible to change these properties.
If supported, QOpenGLTexture uses immutable texture storage.
Once storage has been allocated for the texture, pixel data can be uploaded via one of the setData() overloads.
Note: If immutable texture storage is not available, a default pixel format and pixel type will be used to create the mutable storage. You can use the other allocateStorage() overload to specify exactly the pixel format and the pixel type to use when allocating mutable storage; this is particularly useful under certain OpenGL ES implementations (notably, OpenGL ES 2), where the pixel format and the pixel type used at allocation time must perfectly match the format and the type passed to any subsequent setData() call.
See also isStorageAllocated() and setData().
[since 5.5] void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
Allocates server-side storage for this texture object, taking into account the format, dimensions, mipmap levels, array layers, and cubemap faces.
Once storage has been allocated, it is no longer possible to change these properties.
If supported, QOpenGLTexture uses immutable texture storage. However, if immutable texture storage is not available, then the specified pixelFormat and pixelType will be used to allocate mutable storage; note that in certain OpenGL implementations (notably, OpenGL ES 2) they must perfectly match the format and the type passed to any subsequent setData() call.
Once storage has been allocated for the texture, pixel data can be uploaded via one of the setData() overloads.
This function was introduced in Qt 5.5.
See also isStorageAllocated() and setData().
void QOpenGLTexture::bind()
Binds this texture to the currently active texture unit, preparing it for rendering. Note that you do not need to bind QOpenGLTexture objects in order to modify them as the implementation makes use of the EXT_direct_state_access extension where available and simulates it where it is not.
See also release().
void QOpenGLTexture::bind(uint unit, QOpenGLTexture::TextureUnitReset reset = DontResetTextureUnit)
Binds this texture to texture unit unit, preparing it for rendering. Note that you do not need to bind QOpenGLTexture objects in order to modify them as the implementation makes use of the EXT_direct_state_access extension where available and simulates it where it is not.
If parameter reset is true then this function will restore the active unit to the texture unit that was active upon entry.
See also release().
QColor QOpenGLTexture::borderColor() const
Returns the borderColor of this texture.
See also setBorderColor().
void QOpenGLTexture::borderColor(float *border) const
Writes the texture border color into the first four elements of the array pointed to by border.
See also setBorderColor().
void QOpenGLTexture::borderColor(int *border) const
Writes the texture border color into the first four elements of the array pointed to by border.
This is an overloaded function.
void QOpenGLTexture::borderColor(unsigned int *border) const
Writes the texture border color into the first four elements of the array pointed to by border.
This is an overloaded function.
[static] GLuint QOpenGLTexture::boundTextureId(QOpenGLTexture::BindingTarget target)
Returns the textureId of the texture bound to the target of the currently active texture unit.
[static] GLuint QOpenGLTexture::boundTextureId(uint unit, QOpenGLTexture::BindingTarget target)
Returns the textureId of the texture bound to the target of the texture unit unit.
[since 5.5] QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const
Returns the texture comparison operator set on this texture. By default, a texture has a CompareLessEqual comparison function.
This function was introduced in Qt 5.5.
See also setComparisonFunction().
[since 5.5] QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const
Returns the texture comparison mode set on this texture. By default, a texture has a CompareNone comparison mode (i.e. comparisons are disabled).
This function was introduced in Qt 5.5.
See also setComparisonMode().
bool QOpenGLTexture::create()
Creates the underlying OpenGL texture object. This requires a current valid OpenGL context. If the texture object already exists, this function does nothing.
Once the texture object is created, you can obtain the object name from the textureId() function. This may be useful if you wish to make some raw OpenGL calls related to this texture.
Normally it should not be necessary to call this function directly as all functions that set properties of the texture object implicitly call create() on your behalf.
Returns true if the creation was successful, otherwise returns false.
See also destroy(), isCreated(), and textureId().
END_OF_DOCUMENT_MARKERQOpenGLTexture *QOpenGLTexture::createTextureView(QOpenGLTexture::Target target, QOpenGLTexture::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().
[since 5.4] QOpenGLTexture::DepthStencilMode QOpenGLTexture::depthStencilMode() const
Возвращает режим глубины/шаблона для текстур, использующих комбинированный формат глубины/шаблона.
Эта функция была добавлена в Qt 5.4.
См. также setDepthStencilMode().
void QOpenGLTexture::destroy()
Уничтожает базовый объект OpenGL текстуры. Для этого требуется текущий допустимый контекст OpenGL.
См. также create(), isCreated() и textureId().
int QOpenGLTexture::faces() const
Возвращает количество граней для этой текстуры. Для кубовой и кубовой массива целевых значений это будет 6.
Для некубовых целевых значений это вернёт 1.
QOpenGLTexture::TextureFormat QOpenGLTexture::format() const
Возвращает формат этого объекта текстуры.
См. также setFormat().
void QOpenGLTexture::generateMipMaps()
Генерирует mipmap для этого объекта текстуры с уровня mipmap 0. Если вы используете целевое значение текстуры и параметр фильтрации, требующий mipmap, и отключили автоматическое создание mipmap, то необходимо вызвать эту функцию или перегрузку для создания цепочки mipmap.
Примечание: Создание mipmap не поддерживается для сжатых текстур с OpenGL ES.
См. также 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(QOpenGLTexture::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().
QOpenGLTexture::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<QOpenGLTexture::Filter, QOpenGLTexture::Filter> QOpenGLTexture::minMagFilters() const
Возвращает текущие фильтры уменьшения и увеличения.
См. также setMinMagFilters().
QOpenGLTexture::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, QOpenGLTexture::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(const 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.
Это перегруженная функция.
[since 5.5] void QOpenGLTexture::setComparisonFunction(QOpenGLTexture::ComparisonFunction function)
Устанавливает функцию сравнения текстуры для этой текстуры на function. Функция сравнения текстуры используется тенями-самплерами при выборке глубины текстуры.
Эта функция была добавлена в Qt 5.5.
См. также comparisonFunction().
[since 5.5] void QOpenGLTexture::setComparisonMode(QOpenGLTexture::ComparisonMode mode)
Устанавливает режим сравнения текстуры для этой текстуры на mode. Режим сравнения текстуры используется тенями-самплерами при выборке глубины текстуры.
Эта функция была добавлена в Qt 5.5.
См. также comparisonMode().
[since 5.3] void QOpenGLTexture::setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Загружает сжатые пиксельные данные data на уровень mipLevel, массив layer и cubeFace. Передача пикселей может быть дополнительно контролирована с помощью options. Аргумент dataSize должен указывать размер данных, на которые указывает data.
Если не используется сжатый формат format(), необходимо использовать setData() вместо этой функции.
Эта функция была добавлена в Qt 5.3.
[since 5.9] void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int layerCount, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженная функция.
Параметр layerCount — это количество слоев в массиве текстур, которые загружаются/заполняются этим вызовом.
Эта функция была добавлена в Qt 5.9.
void QOpenGLTexture::setCompressedData(int mipLevel, int layer, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженная функция.
void QOpenGLTexture::setCompressedData(int mipLevel, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженный метод.
void QOpenGLTexture::setCompressedData(int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженный метод.
[since 5.3] void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Загружает пиксельные данные для этого объекта текстуры mipLevel, массива layer и cubeFace. Хранилище должно быть выделено перед загрузкой пиксельных данных. Некоторые перегрузки setData() установят соответствующие размеры, уровни mipmap и слои массива, а затем выделять память для вас, если у них достаточно информации для этого. Это будет отмечено в документации функции.
Структура пиксельных данных, на которые указывает data, задаётся sourceFormat и sourceType. Загрузка пиксельных данных может быть дополнительно контролируема параметром options.
Если используется сжатый формат(), то необходимо использовать setCompressedData() вместо этой функции.
Функция была добавлена в Qt 5.3.
См. также setCompressedData().
[since 5.9] 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)
Это перегруженный метод.
Параметр layerCount — количество слоёв в массиве текстур, которые загружаются/заполняются этим вызовом.
Функция была добавлена в Qt 5.9.
[since 5.3] void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженный метод.
Функция была добавлена в Qt 5.3.
[since 5.3] void QOpenGLTexture::setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженный метод.
Функция была добавлена в Qt 5.3.
[since 5.3] void QOpenGLTexture::setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженный метод.
Функция была добавлена в Qt 5.3.
[since 5.14] 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)
Это перегруженный метод.
Эта перегрузка используется для обновления части текстуры. Параметры xOffset, yOffset, zOffset задают смещения текселей в текстуре. Параметры width, height и depth задают размеры подизображения.
Структура пиксельных данных, на которые указывает data, задаётся sourceFormat и sourceType. Загрузка пиксельных данных может быть дополнительно контролируема параметром options.
Функция была добавлена в Qt 5.14.
[since 5.14] 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)
Это перегруженный метод.
Эта перегрузка используется для обновления части текстуры. Параметры xOffset, yOffset, zOffset задают смещения текселей в текстуре. Параметры width, height и depth задают размеры подизображения. Уровень mipmap подизображения, которое мы хотим обновить, задаётся параметром mipLevel.
Структура пиксельных данных, на которые указывает data, задаётся sourceFormat и sourceType. Загрузка пиксельных данных может быть дополнительно контролируема параметром options.
Функция была добавлена в Qt 5.14.
[since 5.14] 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)
Это перегруженный метод.
Эта перегрузка используется для обновления части текстуры. Параметры xOffset, yOffset, zOffset задают смещения текселей в текстуре. Параметры width, height и depth задают размеры подизображения. Уровень mipmap и слой подизображения, которое мы хотим обновить, задаются параметрами mipLevel и layer.
Структура пиксельных данных, на которые указывает data, задаётся sourceFormat и sourceType. Загрузка пиксельных данных может быть дополнительно контролируема параметром options.
Функция была добавлена в Qt 5.14.
[since 5.14] 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)
Это перегруженный метод.
Эта перегрузка используется для обновления части текстуры. Параметры xOffset, yOffset, zOffset задают смещения текселей в текстуре. Параметры width, height и depth задают размеры подизображения. Уровень mipmap, слой и грань куба подизображения, которое мы хотим обновить, задаются параметрами mipLevel, layer и face.
Структура пиксельных данных, на которые указывает data, задаётся sourceFormat и sourceType. Загрузка пиксельных данных может быть дополнительно контролируема параметром options.
Функция была добавлена в Qt 5.14.
END_OF_DOCUMENT_MARKER
[since 5.14] 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)
Это перегруженный метод.
Этот перегруз используется для обновления части текстуры. Параметры xOffset, yOffset, zOffset указывают смещения текселей в текстуре. Параметры width, height и depth задают размеры подизображения. Уровень mip-мапы, стартовый слой, грань куба и количество слоёв подизображения, которое мы хотим обновить, задаются параметрами mipLevel, layer, face и layerCount соответственно.
Структура данных пикселей, на которые указывает data, задаётся параметрами sourceFormat и sourceType. Загрузка данных пикселей может быть дополнительно настроена параметром options.
Этот метод был добавлен в Qt 5.14.
void QOpenGLTexture::setData(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
Этот перегруз setData() выделяет память для хранения. Данные пикселей содержатся в image. Мип-мапы генерируются по умолчанию. Установите genMipMaps в DontGenerateMipMaps, чтобы отключить генерацию мип-мап.
Это перегруженный метод.
[since 5.4] void QOpenGLTexture::setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode)
Если используется текстура с объединённым форматом глубины/маски, эта функция устанавливает, какой компонент текстуры используется, в mode.
Если параметр установлен в DepthMode, при обращении из шейдера будет использоваться компонент глубины как одиночное число с плавающей точкой, как обычно. Но если параметр установлен в StencilMode, шейдер будет обращаться к компоненту маски.
Примечание: Эта функция не имеет эффекта на Mac и Qt, скомпилированных для OpenGL ES 2.
Этот метод был добавлен в Qt 5.4.
См. также depthStencilMode().
void QOpenGLTexture::setFixedSamplePositions(bool fixed)
Устанавливает, фиксированы ли позиции выборки и количество выборок, используемых с многовыборочной текстурой, в fixed. Если установлено true, позиции выборки и количество выборок одинаковы для всех текселей в изображении и не зависят от размера изображения или внутреннего формата. Этот метод необходимо вызвать до выделения памяти для текстуры.
Для целей, не поддерживающих многовыборку, эта функция не имеет эффекта.
Значение по умолчанию — true.
См. также isFixedSamplePositions() и isStorageAllocated().
void QOpenGLTexture::setFormat(QOpenGLTexture::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. Смещение уровня детализации влияет на момент изменения уровней мип-мап. Увеличение значений смещения уровня детализации делает общее изображение более размытым или плавным. Уменьшение значений делает общее изображение более чётким.
Примечание: Эта функция не имеет эффекта для Qt, скомпилированных для OpenGL ES 2.
См. также levelofDetailBias().
void QOpenGLTexture::setMagnificationFilter(QOpenGLTexture::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. Это ограничивает выбор низкоразрешающей мип-мапы (высшего уровня мип-мапы). Значение по умолчанию равно 1000.
Примечание: Эта функция не имеет эффекта для Qt, скомпилированных для OpenGL ES 2.
См. также maximumLevelOfDetail(), setMinimumLevelOfDetail() и setLevelOfDetailRange().
void QOpenGLTexture::setMinMagFilters(QOpenGLTexture::Filter minificationFilter, QOpenGLTexture::Filter magnificationFilter)
Устанавливает фильтр уменьшения в minificationFilter и фильтр увеличения в magnificationFilter.
См. также minMagFilters(), setMinificationFilter() и setMagnificationFilter().
void QOpenGLTexture::setMinificationFilter(QOpenGLTexture::Filter filter)
Устанавливает фильтр, используемый для уменьшения, в filter.
См. также minificationFilter(), setMagnificationFilter() и setMinMagFilters().
void QOpenGLTexture::setMinimumLevelOfDetail(float value)
Устанавливает минимальный уровень детализации в value. Это ограничивает выбор наиболее высокой мип-мапы (низшего уровня мип-мапы). Значение по умолчанию — -1000.
Примечание: Эта функция не имеет эффекта для Qt, скомпилированных для OpenGL ES 2.
См. также minimumLevelOfDetail(), setMaximumLevelOfDetail() и setLevelOfDetailRange().
void QOpenGLTexture::setMipBaseLevel(int baseLevel)
Устанавливает базовый уровень мип-мап, используемый для всех поисков текстур с этой текстурой, в baseLevel.
Примечание: Эта функция не имеет эффекта для Qt, скомпилированных для OpenGL ES 2.
См. также mipBaseLevel(), setMipMaxLevel() и setMipLevelRange().
void QOpenGLTexture::setMipLevelRange(int baseLevel, int maxLevel)
Устанавливает диапазон уровней мип-мап, которые могут быть использованы для поисков текстур с этой текстурой, от baseLevel до maxLevel.
Примечание: Эта функция не имеет эффекта для Qt, скомпилированных для OpenGL ES 2.
См. также setMipBaseLevel(), setMipMaxLevel() и mipLevelRange().
void QOpenGLTexture::setMipLevels(int levels)
Для текстурных целей, которые поддерживают mipmap, эта функция устанавливает запрашиваемое количество уровней mipmap для выделения памяти. Эту функцию следует вызывать перед выделением памяти для текстуры.
Если целевая текстура не поддерживает 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, не являющийся степенью двойки, и ваша реализация OpenGL не поддерживает текстуры с повторением, не являющимися степенью двойки, то режим обертывания автоматически устанавливается в ClampToEdge.
См. также width(), height() и depth().
void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleComponent component, QOpenGLTexture::SwizzleValue value)
GLSL-шейдеры способны переупорядочивать компоненты vec4, возвращаемые функциями текстуры. Также желательно иметь возможность управлять этим переупорядочиванием со стороны кода на процессоре. Это становится возможным с помощью масок swizzle с OpenGL 3.3.
Каждый компонент текстуры может быть сопоставлен с одним из вариантов SwizzleValue.
Эта функция сопоставляет component с выходным value.
Примечание: Эта функция не оказывает эффекта на Mac и Qt, скомпилированных для OpenGL ES 2.
См. также swizzleMask().
void QOpenGLTexture::setSwizzleMask(QOpenGLTexture::SwizzleValue r, QOpenGLTexture::SwizzleValue g, QOpenGLTexture::SwizzleValue b, QOpenGLTexture::SwizzleValue a)
Параметры r, g, b и a используются для установки цветов красного, зеленого, синего и значения альфа.
Это перегруженная функция.
void QOpenGLTexture::setWrapMode(QOpenGLTexture::WrapMode mode)
Устанавливает режим обертывания (или повторения) для всех измерений текстуры в mode.
См. также wrapMode().
void QOpenGLTexture::setWrapMode(QOpenGLTexture::CoordinateDirection direction, QOpenGLTexture::WrapMode mode)
Содержит измерение текстуры direction.
Это перегруженная функция.
QOpenGLTexture::SwizzleValue QOpenGLTexture::swizzleMask(QOpenGLTexture::SwizzleComponent component) const
Возвращает маску swizzle для текстурного component.
См. также setSwizzleMask().
QOpenGLTexture::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().
QOpenGLTexture::WrapMode QOpenGLTexture::wrapMode(QOpenGLTexture::CoordinateDirection direction) const
Возвращает режим обертывания для текстурного измерения direction.
См. также setWrapMode().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qopengltexture.html