Класс 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. Другой вариант — преобразовать ваши координаты текстуры.
Документация по типам членов
перечисление 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] перечисление 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::CompareNotEqual |
0x0205 |
Эквивалентно GL_NOTEQUAL. |
QOpenGLTexture::CompareAlways |
0x0207 |
Эквивалентно GL_ALWAYS. |
QOpenGLTexture::CompareNever |
0x0200 |
Эквивалентно GL_NEVER. |
Это перечисление было добавлено или изменено в Qt 5.5.
[since 5.5] перечисление QOpenGLTexture::ComparisonMode
Это перечисление задает режим сравнения при выборке из этой текстуры.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::CompareRefToTexture |
0x884E |
Эквивалентно GL_COMPARE_REF_TO_TEXTURE. |
QOpenGLTexture::CompareNone |
0x0000 |
Эквивалентно GL_NONE. |
Это перечисление было добавлено или изменено в Qt 5.5.
перечисление QOpenGLTexture::CoordinateDirection
Это перечисление определяет возможные направления координат текстуры
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::DirectionS |
0x2802 |
Горизонтальное направление. Эквивалентно GL_TEXTURE_WRAP_S |
QOpenGLTexture::DirectionT |
0x2803 |
Вертикальное направление. Эквивалентно GL_TEXTURE_WRAP_T |
QOpenGLTexture::DirectionR |
0x8072 |
Направление глубины. Эквивалентно GL_TEXTURE_WRAP_R |
перечисление 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] перечисление QOpenGLTexture::DepthStencilMode
Это перечисление задаёт, какой компонент глубины/штампа текстуры используется при выборке из текстуры.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::DepthMode |
0x1902 |
Эквивалентно GL_DEPTH_COMPONENT. |
QOpenGLTexture::StencilMode |
0x1901 |
Эквивалентно GL_STENCIL_INDEX. |
Это перечисление было добавлено или изменено в Qt 5.4.
перечисление QOpenGLTexture::Featureфлаги 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 — это псевдоним для QFlags<Feature>. Он хранит логическое ИЛИ комбинацию значений Feature.
перечисление 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 |
перечисление QOpenGLTexture::MipMapGeneration
Это перечисление определяет параметры управления генерацией mipmap.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::GenerateMipMaps |
0 |
Mipmap должны быть сгенерированы |
QOpenGLTexture::DontGenerateMipMaps |
1 |
Mipmap не должны быть сгенерированы |
перечисление 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) |
перечисление 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 |
Текстура 1-мерная. Эквивалентно GL_TEXTURE_1D. |
QOpenGLTexture::Target1DArray |
0x8C18 |
Массив 1-мерных текстур. Эквивалентно GL_TEXTURE_1D_ARRAY |
QOpenGLTexture::Target2D |
0x0DE1 |
Текстура 2-мерная. Эквивалентно GL_TEXTURE_2D |
QOpenGLTexture::Target2DArray |
0x8C1A |
Массив 2-мерных текстур. Эквивалентно GL_TEXTURE_2D_ARRAY |
QOpenGLTexture::Target3D |
0x806F |
Текстура 3-мерная. Эквивалентно GL_TEXTURE_3D |
QOpenGLTexture::TargetCubeMap |
0x8513 |
Текстура куба. Эквивалентно GL_TEXTURE_CUBE_MAP |
QOpenGLTexture::TargetCubeMapArray |
0x9009 |
Массив текстур куба. Эквивалентно GL_TEXTURE_CUBE_MAP_ARRAY |
QOpenGLTexture::Target2DMultisample |
0x9100 |
2-мерная текстура с поддержкой мультисэмплинга. Эквивалентно GL_TEXTURE_2D_MULTISAMPLE |
QOpenGLTexture::Target2DMultisampleArray |
0x9102 |
Массив 2-мерных текстур с поддержкой мультисэмплинга. Эквивалентно GL_TEXTURE_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::TargetRectangle |
0x84F5 |
Прямоугольная 2-мерная текстура. Эквивалентно 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
Этот перечисление определяет опции для управления активацией блока текстур.
| Константа | Значение | Описание |
|---|---|---|
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(const QImage &image, QOpenGLTexture::MipMapGeneration genMipMaps = GenerateMipMaps)
Создает объект QOpenGLTexture, который впоследствии может быть привязан к целевому 2D текстуре и содержит данные пикселей, содержащиеся в image. Если вы хотите сгенерировать цепочку mipmap, установите genMipMaps в true (это значение по умолчанию).
Это создает базовый объект OpenGL текстуры. Следовательно, создание с помощью этого конструктора требует наличия действительного текущего контекста OpenGL.
QOpenGLTexture::QOpenGLTexture(QOpenGLTexture::Target target)
Создает объект QOpenGLTexture, который впоследствии может быть привязан к target.
Это не создает базовый объект OpenGL текстуры. Следовательно, создание с помощью этого конструктора не требует наличия действительного текущего контекста OpenGL.
void QOpenGLTexture::allocateStorage()
Выделяет хранилище на стороне сервера для этого объекта текстуры с учётом формата, размеров, уровней mipmap, массивов слоёв и граней кубовой карты.
После выделения хранилища изменить эти свойства больше нельзя.
Если поддерживается, QOpenGLTexture использует неизменяемое хранилище текстур.
После выделения хранилища для текстуры данные пикселей можно загрузить с помощью одного из перегруженных методов setData().
Примечание: Если неизменяемое хранилище текстур недоступно, то будет использоваться стандартный формат и тип пикселей для создания изменяемого хранилища. Вы можете использовать другой перегруженный метод allocateStorage(), чтобы указать точный формат и тип пикселей для выделения изменяемого хранилища; это особенно полезно в определённых реализациях OpenGL ES (в частности, OpenGL ES 2), где формат и тип пикселей, используемые при выделении, должны точно соответствовать формату и типу, переданным в последующий вызов setData().
См. также isStorageAllocated() и setData().
[since 5.5] void QOpenGLTexture::allocateStorage(QOpenGLTexture::PixelFormat pixelFormat, QOpenGLTexture::PixelType pixelType)
Выделяет хранилище на стороне сервера для этого объекта текстуры с учётом формата, размеров, уровней mipmap, массивов слоёв и граней кубовой карты.
После выделения хранилища изменить эти свойства больше нельзя.
Если поддерживается, 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, QOpenGLTexture::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(QOpenGLTexture::BindingTarget target)
Возвращает textureId текстуры, привязанной к target текущего активного блока текстур.
[static] GLuint QOpenGLTexture::boundTextureId(uint unit, QOpenGLTexture::BindingTarget target)
Возвращает textureId текстуры, привязанной к target блока текстур unit.
[since 5.5] QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const
Возвращает оператор сравнения текстуры, установленный для этой текстуры. По умолчанию, текстура имеет оператор сравнения CompareLessEqual.
Эта функция была добавлена в Qt 5.5.
См. также setComparisonFunction().
[since 5.5] QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const
Возвращает режим сравнения текстуры, установленный для этой текстуры. По умолчанию, текстура имеет режим сравнения CompareNone (т. е. сравнения отключены).
Эта функция была добавлена в Qt 5.5.
См. также setComparisonMode().
bool QOpenGLTexture::create()
Создаёт базовый объект OpenGL текстуры. Это требует наличия текущего действительного контекста OpenGL. Если объект текстуры уже существует, эта функция ничего не делает.
После создания объекта текстуры вы можете получить имя объекта из функции textureId(). Это может быть полезно, если вы хотите выполнить некоторые прямые вызовы OpenGL, связанные с этой текстурой.
Обычно не нужно вызывать эту функцию напрямую, так как все функции, которые устанавливают свойства объекта текстуры, неявно вызывают create() от вашего имени.
Возвращает true если создание прошло успешно, в противном случае возвращает false.
См. также destroy(), isCreated(), и textureId().
QOpenGLTexture *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()
Генерирует mip-уровни для этого объекта текстуры начиная с mip-уровня 0. Если вы используете целевой объект текстуры и опцию фильтрации, требующую mip-уровней, и отключили автоматическую генерацию mip-уровней, вам нужно вызвать эту функцию или её перегрузку для создания цепочки mip-уровней.
Примечание: Генерация mip-уровней не поддерживается для сжатых текстур с OpenGL ES.
См. также setAutoMipMapGenerationEnabled(), setMipLevels() и mipLevels().
void QOpenGLTexture::generateMipMaps(int baseLevel, bool resetBaseLevel = true)
Генерирует mip-уровни для этого объекта текстуры начиная с mip-уровня baseLevel. Если вы используете целевой объект текстуры и опцию фильтрации, требующую mip-уровней, и отключили автоматическую генерацию mip-уровней, вам нужно вызвать эту функцию или её перегрузку для создания цепочки mip-уровней.
Генерация mip-уровней выше baseLevel достигается путем установки базового mip-уровня на baseLevel и последующей генерации цепочки mip-уровней. Если resetBaseLevel равно true, базовый mip-уровень текстуры будет сброшен до предыдущего значения.
См. также 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
Возвращает, включена ли автоматическая генерация mip-уровней для этого объекта текстуры.
См. также 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 , если хранилище на стороне сервера для этой текстуры было выделено.
Формат, размеры, уровни mip-уровней и слои массива не могут быть изменены после выделения хранилища.
См. также 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.
Примечание: Эта функция не имеет эффекта на macOS и 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. Мip-мапы генерируются по умолчанию. Установите genMipMaps в DontGenerateMipMaps, чтобы отключить генерацию mip-мап.
Это перегруженный метод.
[since 5.4] void QOpenGLTexture::setDepthStencilMode(QOpenGLTexture::DepthStencilMode mode)
Если используется текстура с комбинированным форматом глубины/схемы, эта функция устанавливает, какой компонент текстуры доступен по параметру mode.
Когда параметр установлен в DepthMode, доступ к нему из шейдера будет осуществляться к компоненту глубины как к одному числу с плавающей точкой, как обычно. Но когда параметр установлен в StencilMode, шейдер получит доступ к компоненту схемы.
Примечание: Этот метод не имеет эффекта на macOS и 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. Смещение уровня детализации влияет на точку, в которой уровни mip-мапирования изменяются. Увеличение значений для смещения уровня детализации делает общие изображения более размытыми или плавными. Уменьшение значений делает общие изображения более резкими.
Примечание: Этот метод не имеет эффекта в 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. Это ограничивает выбор mip-мапы с наименьшим разрешением (самый высокий уровень mip-мапа). Значение по умолчанию — 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. Это ограничивает выбор mip-мапы с наибольшим разрешением (самый низкий уровень mip-мапа). Значение по умолчанию — -1000.
Примечание: Этот метод не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также minimumLevelOfDetail(), setMaximumLevelOfDetail() и setLevelOfDetailRange().
void QOpenGLTexture::setMipBaseLevel(int baseLevel)
Устанавливает базовый уровень mip-мапа, используемый для всех поисков текстур с этой текстурой, на baseLevel.
Примечание: Этот метод не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также mipBaseLevel(), setMipMaxLevel() и setMipLevelRange().
void QOpenGLTexture::setMipLevelRange(int baseLevel, int maxLevel)
Устанавливает диапазон уровней mip-мапа, которые могут быть использованы для поиска текстур с этой текстурой, от baseLevel до maxLevel.
Примечание: Этот метод не имеет эффекта в Qt, скомпилированном для OpenGL ES 2.
См. также setMipBaseLevel(), setMipMaxLevel() и mipLevelRange().
void QOpenGLTexture::setMipLevels(int levels)
Для текстур, поддерживающих mip-мапы, эта функция устанавливает требуемое количество уровней mip-мапы для выделения памяти. Эту функцию необходимо вызвать перед выделением памяти для текстуры.
Если целевой тип текстуры не поддерживает mip-мапы, эта функция не оказывает никакого эффекта.
См. также mipLevels(), maximumMipLevels(), и isStorageAllocated().
void QOpenGLTexture::setMipMaxLevel(int maxLevel)
Устанавливает максимальный уровень mip-мапы, используемый для всех обращений к текстуре с помощью этой текстуры, в значение 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 не поддерживает текстуры с нестепенными значениями, то режим wrap автоматически устанавливается в 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)
Устанавливает режим wrap (или повторения) для всех измерений текстуры в 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
Возвращает режим wrap для измерения текстуры direction.
См. также setWrapMode().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qopengltexture.html