Класс QOpenGLTexture
Класс QOpenGLTexture инкапсулирует объект текстуры OpenGL. Подробнее...
| Заголовок: | #include <QOpenGLTexture> |
| qmake: | QT += gui |
| С: | Qt 5.2 |
Этот класс был представлен в 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 | destroy() |
| int | границы() const |
| QOpenGLTexture::TextureFormat | формат() const |
| void | сгенерироватьMipКарты() |
| void | сгенерироватьMipКарты(int baseLevel, bool resetBaseLevel = true) |
| int | высота() const |
| bool | isAutoMipMapGenerationEnabled() const |
| bool | isBound() const |
| bool | isBound(uint unit) |
| bool | isCreated() const |
| bool | isFixedSamplePositions() const |
| bool | isStorageAllocated() const |
| bool | isTextureView() 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 | setAutoMipMapGenerationEnabled(bool enabled) |
| void | setBorderColor(QColor color) |
| void | setBorderColor(float r, float g, float b, float a) |
| void | setBorderColor(int r, int g, int b, int a) |
| void | setBorderColor(uint r, uint g, uint b, uint a) |
| void | setComparisonFunction(QOpenGLTexture::ComparisonFunction function) |
| void | setComparisonMode(QOpenGLTexture::ComparisonMode mode) |
| void | setCompressedData(int mipLevel, int layer, QOpenGLTexture::CubeMapFace cubeFace, int dataSize, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr) |
| void | setCompressedData(int 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 |
enum QOpenGLTexture::ComparisonFunction
Это перечисление определяет оператор сравнения, используемый при включенном сравнении текстур в данной текстуре.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::CompareLessEqual |
0x0203 |
Эквивалентно GL_LEQUAL. |
QOpenGLTexture::CompareGreaterEqual |
0x0206 |
Эквивалентно GL_GEQUAL. |
QOpenGLTexture::CompareLess |
0x0201 |
Эквивалентно GL_LESS. |
QOpenGLTexture::CompareGreater |
0x0204 |
Эквивалентно GL_GREATER. |
QOpenGLTexture::CompareEqual |
0x0202 |
Эквивалентно GL_EQUAL. |
QOpenGLTexture::CommpareNotEqual |
0x0205 |
Эквивалентно GL_NOTEQUAL. |
QOpenGLTexture::CompareAlways |
0x0207 |
Эквивалентно GL_ALWAYS. |
QOpenGLTexture::CompareNever |
0x0200 |
Эквивалентно GL_NEVER. |
Это перечисление было введено или изменено в Qt 5.5.
enum QOpenGLTexture::ComparisonMode
Этот перечисление определяет режим сравнения, используемый при выборке из этой текстуры.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::CompareRefToTexture |
0x884E |
Эквивалентно GL_COMPARE_REF_TO_TEXTURE. |
QOpenGLTexture::CompareNone |
0x0000 |
Эквивалентно GL_NONE. |
Это перечисление было введено или изменено в Qt 5.5.
enum QOpenGLTexture::CoordinateDirection
Это перечисление определяет возможные направления координат текстуры
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::DirectionS |
0x2802 |
Горизонтальное направление. Эквивалентно GL_TEXTURE_WRAP_S |
QOpenGLTexture::DirectionT |
0x2803 |
Вертикальное направление. Эквивалентно GL_TEXTURE_WRAP_T |
QOpenGLTexture::DirectionR |
0x8072 |
Направление глубины. Эквивалентно GL_TEXTURE_WRAP_R |
enum QOpenGLTexture::CubeMapFace
Это перечисление определяет возможные грани куба.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::CubeMapPositiveX |
0x8515 |
Эквивалентно GL_TEXTURE_CUBE_MAP_POSITIVE_X |
QOpenGLTexture::CubeMapNegativeX |
0x8516 |
Эквивалентно GL_TEXTURE_CUBE_MAP_NEGATIVE_X |
QOpenGLTexture::CubeMapPositiveY |
0x8517 |
Эквивалентно GL_TEXTURE_CUBE_MAP_POSITIVE_Y |
QOpenGLTexture::CubeMapNegativeY |
0x8518 |
Эквивалентно GL_TEXTURE_CUBE_MAP_NEGATIVE_Y |
QOpenGLTexture::CubeMapPositiveZ |
0x8519 |
Эквивалентно GL_TEXTURE_CUBE_MAP_POSITIVE_Z |
QOpenGLTexture::CubeMapNegativeZ |
0x851A |
Эквивалентно GL_TEXTURE_CUBE_MAP_NEGATIVE_Z |
enum QOpenGLTexture::DepthStencilMode
Это перечисление определяет, какой компонент текстуры глубины/шаблона используется при выборке из текстуры.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::DepthMode |
0x1902 |
Эквивалентно GL_DEPTH_COMPONENT. |
QOpenGLTexture::StencilMode |
0x1901 |
Эквивалентно GL_STENCIL_INDEX. |
Это перечисление было введено или изменено в Qt 5.4.
enum QOpenGLTexture::Featureflags QOpenGLTexture::Features
Это перечисление определяет возможности OpenGL, связанные с текстурами, для проверки.
| Постоянная | Значение | Описание |
|---|---|---|
QOpenGLTexture::ImmutableStorage |
0x00000001 |
Поддержка неизменяемого хранения текстур |
QOpenGLTexture::ImmutableMultisampleStorage |
0x00000002 |
Поддержка неизменяемого хранения текстур с многократными образцами (multisample) |
QOpenGLTexture::TextureRectangle |
0x00000004 |
Поддержка целевого значения GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TextureArrays |
0x00000008 |
Поддержка целевых значений текстур с массивами слоёв |
QOpenGLTexture::Texture3D |
0x00000010 |
Поддержка трёхмерного целевого значения текстуры |
QOpenGLTexture::TextureMultisample |
0x00000020 |
Поддержка целевых значений текстур, имеющих возможности многократных образцов (multisample) |
QOpenGLTexture::TextureBuffer |
0x00000040 |
Поддержка текстур, использующих буферы OpenGL как источник данных |
QOpenGLTexture::TextureCubeMapArrays |
0x00000080 |
Поддержка целевого значения кубовой массива текстур |
QOpenGLTexture::Swizzle |
0x00000100 |
Поддержка масок перетасовки компонентов текстуры |
QOpenGLTexture::StencilTexturing |
0x00000200 |
Поддержка текстурирования с помощью маски глубины (т.е. поиск значений глубины или маски глубины и маски стенок комбинированной текстуры формата глубина/маска глубины в GLSL-шейдерах). |
QOpenGLTexture::AnisotropicFiltering |
0x00000400 |
Поддержка анизотропной фильтрации текстур |
QOpenGLTexture::NPOTTextures |
0x00000800 |
Базовая поддержка текстур, не являющихся степенью двойки |
QOpenGLTexture::NPOTTextureRepeat |
0x00001000 |
Полная поддержка текстур, не являющихся степенью двойки, включая режимы повторения текстур |
QOpenGLTexture::Texture1D |
0x00002000 |
Поддержка одномерного целевого значения текстуры |
QOpenGLTexture::TextureComparisonOperators |
0x00004000 |
Поддержка операторов сравнения текстур |
QOpenGLTexture::TextureMipMapLevel |
0x00008000 |
Поддержка задания базовых и максимальных уровней mipmap |
Тип Features — это 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 |
enum QOpenGLTexture::PixelType
Это перечисление определяет возможные типы данных пикселей для операции передачи пикселей
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::NoPixelType |
0 |
Эквивалентно GL_NONE |
QOpenGLTexture::Int8 |
0x1400 |
Эквивалентно GL_BYTE |
QOpenGLTexture::UInt8 |
0x1401 |
Эквивалентно GL_UNSIGNED_BYTE |
QOpenGLTexture::Int16 |
0x1402 |
Эквивалентно GL_SHORT |
QOpenGLTexture::UInt16 |
0x1403 |
Эквивалентно GL_UNSIGNED_SHORT |
QOpenGLTexture::Int32 |
0x1404 |
Эквивалентно GL_INT |
QOpenGLTexture::UInt32 |
0x1405 |
Эквивалентно GL_UNSIGNED_INT |
QOpenGLTexture::Float16 |
0x140B |
Эквивалентно GL_HALF_FLOAT |
QOpenGLTexture::Float16OES |
0x8D61 |
Эквивалентно GL_HALF_FLOAT_OES |
QOpenGLTexture::Float32 |
0x1406 |
Эквивалентно GL_FLOAT |
QOpenGLTexture::UInt32_RGB9_E5 |
0x8C3E |
Эквивалентно GL_UNSIGNED_INT_5_9_9_9_REV |
QOpenGLTexture::UInt32_RG11B10F |
0x8C3B |
Эквивалентно GL_UNSIGNED_INT_10F_11F_11F_REV |
QOpenGLTexture::UInt8_RG3B2 |
0x8032 |
Эквивалентно GL_UNSIGNED_BYTE_3_3_2 |
QOpenGLTexture::UInt8_RG3B2_Rev |
0x8362 |
Эквивалентно GL_UNSIGNED_BYTE_2_3_3_REV |
QOpenGLTexture::UInt16_RGB5A1 |
0x8034 |
Эквивалентно GL_UNSIGNED_SHORT_5_5_5_1 |
QOpenGLTexture::UInt16_RGB5A1_Rev |
0x8366 |
Эквивалентно GL_UNSIGNED_SHORT_1_5_5_5_REV |
QOpenGLTexture::UInt16_R5G6B5 |
0x8363 |
Эквивалентно GL_UNSIGNED_SHORT_5_6_5 |
QOpenGLTexture::UInt16_R5G6B5_Rev |
0x8364 |
Эквивалентно GL_UNSIGNED_SHORT_5_6_5_REV |
QOpenGLTexture::UInt16_RGBA4 |
0x8033 |
Эквивалентно GL_UNSIGNED_SHORT_4_4_4_4 |
QOpenGLTexture::UInt16_RGBA4_Rev |
0x8365 |
Эквивалентно GL_UNSIGNED_SHORT_4_4_4_4_REV |
QOpenGLTexture::UInt32_RGBA8 |
0x8035 |
Эквивалентно GL_UNSIGNED_INT_8_8_8_8 |
QOpenGLTexture::UInt32_RGBA8_Rev |
0x8367 |
Эквивалентно GL_UNSIGNED_INT_8_8_8_8_REV |
QOpenGLTexture::UInt32_RGB10A2 |
0x8036 |
Эквивалентно GL_UNSIGNED_INT_10_10_10_2 |
QOpenGLTexture::UInt32_RGB10A2_Rev |
0x8368 |
Эквивалентно GL_UNSIGNED_INT_2_10_10_10_REV |
QOpenGLTexture::UInt32_D24S8 |
0x84FA |
Эквивалентно GL_UNSIGNED_INT_24_8. Введено в Qt 5.4 |
QOpenGLTexture::Float32_D32_UInt32_S8_X24 |
0x8DAD |
Эквивалентно GL_FLOAT_32_UNSIGNED_INT_24_8_REV. Введено в Qt 5.4 |
enum QOpenGLTexture::SwizzleComponent
Этот перечисление определяет компоненты цвета текстуры, которым можно назначить маску сдвига.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::SwizzleRed |
0x8E42 |
Компонент красного цвета. Эквивалентно GL_TEXTURE_SWIZZLE_R |
QOpenGLTexture::SwizzleGreen |
0x8E43 |
Компонент зелёного цвета. Эквивалентно GL_TEXTURE_SWIZZLE_G |
QOpenGLTexture::SwizzleBlue |
0x8E44 |
Компонент синего цвета. Эквивалентно GL_TEXTURE_SWIZZLE_B |
QOpenGLTexture::SwizzleAlpha |
0x8E45 |
Компонент альфа-канала. Эквивалентно GL_TEXTURE_SWIZZLE_A |
enum QOpenGLTexture::SwizzleValue
Это перечисление определяет возможные значения маски для сдвига текстуры.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::RedValue |
0x1903 |
Сопоставляет компонент с красным каналом. Эквивалентно GL_RED |
QOpenGLTexture::GreenValue |
0x1904 |
Сопоставляет компонент с зелёным каналом. Эквивалентно GL_GREEN |
QOpenGLTexture::BlueValue |
0x1905 |
Сопоставляет компонент с синим каналом. Эквивалентно GL_BLUE |
QOpenGLTexture::AlphaValue |
0x1906 |
Сопоставляет компонент с альфа-каналом. Эквивалентно GL_ALPHA |
QOpenGLTexture::ZeroValue |
0 |
Сопоставляет компонент со значением 0. Эквивалентно GL_ZERO |
QOpenGLTexture::OneValue |
1 |
Сопоставляет компонент со значением 1. Эквивалентно GL_ONE |
enum QOpenGLTexture::Target
Это перечисление определяет целевой тип текстуры объекта QOpenGLTexture. Для получения дополнительной информации о создании массивов текстур см. Массивы текстур.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::Target1D |
0x0DE0 |
Одномерная текстура. Эквивалентно GL_TEXTURE_1D. |
QOpenGLTexture::Target1DArray |
0x8C18 |
Массив одномерных текстур. Эквивалентно GL_TEXTURE_1D_ARRAY |
QOpenGLTexture::Target2D |
0x0DE1 |
Двумерная текстура. Эквивалентно GL_TEXTURE_2D |
QOpenGLTexture::Target2DArray |
0x8C1A |
Массив двумерных текстур. Эквивалентно GL_TEXTURE_2D_ARRAY |
QOpenGLTexture::Target3D |
0x806F |
Трехмерная текстура. Эквивалентно GL_TEXTURE_3D |
QOpenGLTexture::TargetCubeMap |
0x8513 |
Текстура куба. Эквивалентно GL_TEXTURE_CUBE_MAP |
QOpenGLTexture::TargetCubeMapArray |
0x9009 |
Массив текстур куба. Эквивалентно GL_TEXTURE_CUBE_MAP_ARRAY |
QOpenGLTexture::Target2DMultisample |
0x9100 |
Двумерная текстура с поддержкой мультисэмплирования. Эквивалентно GL_TEXTURE_2D_MULTISAMPLE |
QOpenGLTexture::Target2DMultisampleArray |
0x9102 |
Массив двумерных текстур с поддержкой мультисэмплирования. Эквивалентно GL_TEXTURE_2D_MULTISAMPLE_ARRAY |
QOpenGLTexture::TargetRectangle |
0x84F5 |
Прямоугольная двумерная текстура. Эквивалентно GL_TEXTURE_RECTANGLE |
QOpenGLTexture::TargetBuffer |
0x8C2A |
Текстура с данными из объекта буфера OpenGL. Эквивалентно GL_TEXTURE_BUFFER |
enum QOpenGLTexture::TextureFormat
Это перечисление определяет возможные форматы текстур. В зависимости от вашей реализации OpenGL может быть поддерживается только подмножество этих форматов.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::NoFormat |
0 |
Эквивалентно GL_NONE |
QOpenGLTexture::R8_UNorm |
0x8229 |
Эквивалентно GL_R8 |
QOpenGLTexture::RG8_UNorm |
0x822B |
Эквивалентно GL_RG8 |
QOpenGLTexture::RGB8_UNorm |
0x8051 |
Эквивалентно GL_RGB8 |
QOpenGLTexture::RGBA8_UNorm |
0x8058 |
Эквивалентно GL_RGBA8 |
QOpenGLTexture::R16_UNorm |
0x822A |
Эквивалентно GL_R16 |
QOpenGLTexture::RG16_UNorm |
0x822C |
Эквивалентно GL_RG16 |
QOpenGLTexture::RGB16_UNorm |
0x8054 |
Эквивалентно GL_RGB16 |
QOpenGLTexture::RGBA16_UNorm |
0x805B |
Эквивалентно GL_RGBA16 |
QOpenGLTexture::R8_SNorm |
0x8F94 |
Эквивалентно GL_R8_SNORM |
QOpenGLTexture::RG8_SNorm |
0x8F95 |
Эквивалентно GL_RG8_SNORM |
QOpenGLTexture::RGB8_SNorm |
0x8F96 |
Эквивалентно GL_RGB8_SNORM |
QOpenGLTexture::RGBA8_SNorm |
0x8F97 |
Эквивалентно GL_RGBA8_SNORM |
QOpenGLTexture::R16_SNorm |
0x8F98 |
Эквивалентно GL_R16_SNORM |
QOpenGLTexture::RG16_SNorm |
0x8F99 |
Эквивалентно GL_RG16_SNORM |
QOpenGLTexture::RGB16_SNorm |
0x8F9A |
Эквивалентно GL_RGB16_SNORM |
QOpenGLTexture::RGBA16_SNorm |
0x8F9B |
Эквивалентно GL_RGBA16_SNORM |
QOpenGLTexture::R8U |
0x8232 |
Эквивалентно GL_R8UI |
QOpenGLTexture::RG8U |
0x8238 |
Эквивалентно GL_RG8UI |
QOpenGLTexture::RGB8U |
0x8D7D |
Эквивалентно GL_RGB8UI |
QOpenGLTexture::RGBA8U |
0x8D7C |
Эквивалентно GL_RGBA8UI |
QOpenGLTexture::R16U |
0x8234 |
Эквивалентно GL_R16UI |
QOpenGLTexture::RG16U |
0x823A |
Эквивалентно GL_RG16UI |
QOpenGLTexture::RGB16U |
0x8D77 |
Эквивалентно GL_RGB16UI |
QOpenGLTexture::RGBA16U |
0x8D76 |
Эквивалентно GL_RGBA16UI |
QOpenGLTexture::R32U |
0x8236 |
Эквивалентно GL_R32UI |
QOpenGLTexture::RG32U |
0x823C |
Эквивалентно GL_RG32UI |
QOpenGLTexture::RGB32U |
0x8D71 |
Эквивалентно GL_RGB32UI |
QOpenGLTexture::RGBA32U |
0x8D70 |
Эквивалентно GL_RGBA32UI |
QOpenGLTexture::R8I |
0x8231 |
Эквивалентно GL_R8I |
QOpenGLTexture::RG8I |
0x8237 |
Эквивалентно GL_RG8I |
QOpenGLTexture::RGB8I |
0x8D8F |
Эквивалентно GL_RGB8I |
QOpenGLTexture::RGBA8I |
0x8D8E |
Эквивалентно GL_RGBA8I |
QOpenGLTexture::R16I |
0x8233 |
Эквивалентно GL_R16I |
QOpenGLTexture::RG16I |
0x8239 |
Эквивалентно GL_RG16I |
QOpenGLTexture::RGB16I |
0x8D89 |
Эквивалентно GL_RGB16I |
QOpenGLTexture::RGBA16I |
0x8D88 |
Эквивалентно GL_RGBA16I |
QOpenGLTexture::R32I |
0x8235 |
Эквивалентно GL_R32I |
QOpenGLTexture::RG32I |
0x823B |
Эквивалентно GL_RG32I |
QOpenGLTexture::RGB32I |
0x8D83 |
Эквивалентно GL_RGB32I |
QOpenGLTexture::RGBA32I |
0x8D82 |
Эквивалентно GL_RGBA32I |
QOpenGLTexture::R16F |
0x822D |
Эквивалентно GL_R16F |
QOpenGLTexture::RG16F |
0x822F |
Эквивалентно GL_RG16F |
QOpenGLTexture::RGB16F |
0x881B |
Эквивалентно GL_RGB16F |
QOpenGLTexture::RGBA16F |
0x881A |
Эквивалентно GL_RGBA16F |
QOpenGLTexture::R32F |
0x822E |
Эквивалентно GL_R32F |
QOpenGLTexture::RG32F |
0x8230 |
Эквивалентно GL_RG32F |
QOpenGLTexture::RGB32F |
0x8815 |
Эквивалентно GL_RGB32F |
QOpenGLTexture::RGBA32F |
0x8814 |
Эквивалентно GL_RGBA32F |
QOpenGLTexture::RGB9E5 |
0x8C3D |
Эквивалентно GL_RGB9_E5 |
QOpenGLTexture::RG11B10F |
0x8C3A |
Эквивалентно GL_R11F_G11F_B10F |
QOpenGLTexture::RG3B2 |
0x2A10 |
Эквивалентно GL_R3_G3_B2 |
QOpenGLTexture::R5G6B5 |
0x8D62 |
Эквивалентно GL_RGB565 |
QOpenGLTexture::RGB5A1 |
0x8057 |
Эквивалентно GL_RGB5_A1 |
QOpenGLTexture::RGBA4 |
0x8056 |
Эквивалентно GL_RGBA4 |
QOpenGLTexture::RGB10A2 |
0x906F |
Эквивалентно GL_RGB10_A2UI |
QOpenGLTexture::D16 |
0x81A5 |
Эквивалентно GL_DEPTH_COMPONENT16 |
QOpenGLTexture::D24 |
0x81A6 |
Эквивалентно GL_DEPTH_COMPONENT24 |
QOpenGLTexture::D24S8 |
0x88F0 |
Эквивалентно GL_DEPTH24_STENCIL8 |
QOpenGLTexture::D32 |
0x81A7 |
Эквивалентно GL_DEPTH_COMPONENT32 |
QOpenGLTexture::D32F |
0x8CAC |
Эквивалентно GL_DEPTH_COMPONENT32F |
QOpenGLTexture::D32FS8X24 |
0x8CAD |
Эквивалентно GL_DEPTH32F_STENCIL8 |
QOpenGLTexture::S8 |
0x8D48 |
Эквивалентно GL_STENCIL_INDEX8. Введено в Qt 5.4 |
QOpenGLTexture::RGB_DXT1 |
0x83F0 |
Эквивалентно GL_COMPRESSED_RGB_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT1 |
0x83F1 |
Эквивалентно GL_COMPRESSED_RGBA_S3TC_DXT1_EXT |
QOpenGLTexture::RGBA_DXT3 |
0x83F2 |
Эквивалентно GL_COMPRESSED_RGBA_S3TC_DXT3_EXT |
QOpenGLTexture::RGBA_DXT5 |
0x83F3 |
Эквивалентно GL_COMPRESSED_RGBA_S3TC_DXT5_EXT |
QOpenGLTexture::R_ATI1N_UNorm |
0x8DBB |
Эквивалентно GL_COMPRESSED_RED_RGTC1 |
QOpenGLTexture::R_ATI1N_SNorm |
0x8DBC |
Эквивалентно GL_COMPRESSED_SIGNED_RED_RGTC1 |
QOpenGLTexture::RG_ATI2N_UNorm |
0x8DBD |
Эквивалентно GL_COMPRESSED_RG_RGTC2 |
QOpenGLTexture::RG_ATI2N_SNorm |
0x8DBE |
Эквивалентно GL_COMPRESSED_SIGNED_RG_RGTC2 |
QOpenGLTexture::RGB_BP_UNSIGNED_FLOAT |
0x8E8F |
Эквивалентно GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_SIGNED_FLOAT |
0x8E8E |
Эквивалентно GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB |
QOpenGLTexture::RGB_BP_UNorm |
0x8E8C |
Эквивалентно GL_COMPRESSED_RGBA_BPTC_UNORM_ARB |
QOpenGLTexture::R11_EAC_UNorm |
0x9270 |
Эквивалентно GL_COMPRESSED_R11_EAC |
QOpenGLTexture::R11_EAC_SNorm |
0x9271 |
Эквивалентно GL_COMPRESSED_SIGNED_R11_EAC |
QOpenGLTexture::RG11_EAC_UNorm |
0x9272 |
Эквивалентно GL_COMPRESSED_RG11_EAC |
QOpenGLTexture::RG11_EAC_SNorm |
0x9273 |
Эквивалентно GL_COMPRESSED_SIGNED_RG11_EAC |
QOpenGLTexture::RGB8_ETC2 |
0x9274 |
Эквивалентно GL_COMPRESSED_RGB8_ETC2 |
QOpenGLTexture::SRGB8_ETC2 |
0x9275 |
Эквивалентно GL_COMPRESSED_SRGB8_ETC2 |
QOpenGLTexture::RGB8_PunchThrough_Alpha1_ETC2 |
0x9276 |
Эквивалентно GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::SRGB8_PunchThrough_Alpha1_ETC2 |
0x9277 |
Эквивалентно GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 |
QOpenGLTexture::RGBA8_ETC2_EAC |
0x9278 |
Эквивалентно GL_COMPRESSED_RGBA8_ETC2_EAC |
QOpenGLTexture::SRGB8_Alpha8_ETC2_EAC |
0x9279 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC |
QOpenGLTexture::RGB8_ETC1 |
0x8D64 |
Эквивалентно GL_ETC1_RGB8_OES |
QOpenGLTexture::RGBA_ASTC_4x4 |
0x93B0 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_4x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x4 |
0x93B1 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_5x4_KHR |
QOpenGLTexture::RGBA_ASTC_5x5 |
0x93B2 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_5x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x5 |
0x93B3 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_6x5_KHR |
QOpenGLTexture::RGBA_ASTC_6x6 |
0x93B4 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_6x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x5 |
0x93B5 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_8x5_KHR |
QOpenGLTexture::RGBA_ASTC_8x6 |
0x93B6 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_8x6_KHR |
QOpenGLTexture::RGBA_ASTC_8x8 |
0x93B7 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_8x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x5 |
0x93B8 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_10x5_KHR |
QOpenGLTexture::RGBA_ASTC_10x6 |
0x93B9 |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_10x6_KHR |
QOpenGLTexture::RGBA_ASTC_10x8 |
0x93BA |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_10x8_KHR |
QOpenGLTexture::RGBA_ASTC_10x10 |
0x93BB |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_10x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x10 |
0x93BC |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_12x10_KHR |
QOpenGLTexture::RGBA_ASTC_12x12 |
0x93BD |
Эквивалентно GL_COMPRESSED_RGBA_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_4x4 |
0x93D0 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x4 |
0x93D1 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_5x5 |
0x93D2 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x5 |
0x93D3 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_6x6 |
0x93D4 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x5 |
0x93D5 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x6 |
0x93D6 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_8x8 |
0x93D7 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x5 |
0x93D8 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x6 |
0x93D9 |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x8 |
0x93DA |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_10x10 |
0x93DB |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x10 |
0x93DC |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR |
QOpenGLTexture::SRGB8_Alpha8_ASTC_12x12 |
0x93DD |
Эквивалентно GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR |
QOpenGLTexture::SRGB8 |
0x8C41 |
Эквивалентно GL_SRGB8 |
QOpenGLTexture::SRGB8_Alpha8 |
0x8C43 |
Эквивалентно GL_SRGB8_ALPHA8 |
QOpenGLTexture::SRGB_DXT1 |
0x8C4C |
Эквивалентно GL_COMPRESSED_SRGB_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT1 |
0x8C4D |
Эквивалентно GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT |
QOpenGLTexture::SRGB_Alpha_DXT3 |
0x8C4E |
Эквивалентно GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT |
QOpenGLTexture::SRGB_Alpha_DXT5 |
0x8C4F |
Эквивалентно GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT |
QOpenGLTexture::SRGB_BP_UNorm |
0x8E8D |
Эквивалентно GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB |
QOpenGLTexture::DepthFormat |
0x1902 |
Эквивалентно GL_DEPTH_COMPONENT (только OpenGL ES 3 или ES 2 с OES_depth_texture) |
QOpenGLTexture::AlphaFormat |
0x1906 |
Эквивалентно GL_ALPHA (только OpenGL ES 2) |
QOpenGLTexture::RGBFormat |
0x1907 |
Эквивалентно GL_RGB (только OpenGL ES 2) |
QOpenGLTexture::RGBAFormat |
0x1908 |
Эквивалентно GL_RGBA (только OpenGL ES 2) |
QOpenGLTexture::LuminanceFormat |
0x1909 |
Эквивалентно GL_LUMINANCE (только OpenGL ES 2) |
QOpenGLTexture::LuminanceAlphaFormat |
0x190A |
Эквивалентно GL_LUMINANCE_ALPHA (только OpenGL ES 2) |
enum QOpenGLTexture::TextureUnitReset
Этот перечисление определяет опции для управления активацией текстурных единиц.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::ResetTextureUnit |
0 |
Предыдущая активная текстурная единица будет сброшена |
QOpenGLTexture::DontResetTextureUnit |
1 |
Предыдущая активная текстурная единица не будет сброшена |
enum QOpenGLTexture::WrapMode
Это перечисление определяет возможные режимы обёртывания координат текстуры.
| Константа | Значение | Описание |
|---|---|---|
QOpenGLTexture::Repeat |
0x2901 |
Координаты текстуры повторяются. Эквивалентно GL_REPEAT |
QOpenGLTexture::MirroredRepeat |
0x8370 |
Координаты текстуры отражаются относительно 0 и 1. Эквивалентно GL_MIRRORED_REPEAT |
QOpenGLTexture::ClampToEdge |
0x812F |
Координаты текстуры ограничиваются интервалом [0,1]. Эквивалентно GL_CLAMP_TO_EDGE |
QOpenGLTexture::ClampToBorder |
0x812D |
Аналогично ClampToEdge, но также смешивает образцы в 0 и 1 с фиксированным цветом границы. Эквивалентно GL_CLAMP_TO_BORDER |
Документация по членам функции
QOpenGLTexture::QOpenGLTexture(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().
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.
QOpenGLTexture::ComparisonFunction QOpenGLTexture::comparisonFunction() const
Возвращает оператор сравнения текстуры, установленный для этой текстуры. По умолчанию, текстура имеет оператор сравнения CompareLessEqual.
Эта функция была добавлена в Qt 5.5.
См. также setComparisonFunction().
QOpenGLTexture::ComparisonMode QOpenGLTexture::comparisonMode() const
Возвращает режим сравнения текстуры, установленный для этой текстуры. По умолчанию, текстура имеет режим сравнения CompareNone (т.е. сравнения отключены).
Эта функция была добавлена в Qt 5.5.
См. также setComparisonMode().
bool QOpenGLTexture::create()
Создаёт базовый объект OpenGL текстуры. Это требует действительного текущего контекста OpenGL. Если объект текстуры уже существует, эта функция ничего не делает.
После создания объекта текстуры вы можете получить имя объекта из функции textureId(). Это может быть полезно, если вы хотите выполнить некоторые прямые вызовы OpenGL, относящиеся к этой текстуре.
Обычно не нужно вызывать эту функцию напрямую, так как все функции, которые устанавливают свойства объекта текстуры, неявно вызывают create() от вашего имени.
Возвращает true если создание прошло успешно, в противном случае возвращает false.
См. также destroy(), isCreated(), и textureId().
END_OF_DOCUMENT_MARKERQOpenGLTexture *QOpenGLTexture::createTextureView(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().
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-уровни для этого объекта текстуры, начиная с уровня 0. Если вы используете целевой объект текстуры и параметр фильтрации, требующий mip-уровни, и отключили автоматическую генерацию mip-уровней, необходимо вызвать эту функцию или её перегрузку для создания цепочки mip-уровней.
Примечание: Генерация mip-уровней не поддерживается для сжатых текстур с OpenGL ES.
См. также setAutoMipMapGenerationEnabled(), setMipLevels() и mipLevels().
void QOpenGLTexture::generateMipMaps(int baseLevel, bool resetBaseLevel = true)
Генерирует mip-уровни для этого объекта текстуры, начиная с уровня baseLevel. Если вы используете целевой объект текстуры и параметр фильтрации, требующий mip-уровни, и отключили автоматическую генерацию mip-уровней, необходимо вызвать эту функцию или её перегрузку для создания цепочки mip-уровней.
Генерация mip-уровней выше baseLevel достигается путём установки базового уровня mip-уровней в baseLevel и последующей генерации цепочки mip-уровней. Если 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
Возвращает, включена ли автоматическая генерация 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(QColor color)
Устанавливает цвет границы текстуры на color.
Примечание: Эта функция не имеет эффекта на Mac и Qt, построенных для OpenGL ES 2.
См. также borderColor().
void QOpenGLTexture::setBorderColor(float r, float g, float b, float a)
Устанавливает красный цвет на r, зелёный на g, синий на b, и альфа-значение на a.
Это перегруженная функция.
void QOpenGLTexture::setBorderColor(int r, int g, int b, int a)
Устанавливает красный цвет на r, зелёный на g, синий на b, и альфа-значение на a.
Это перегруженная функция.
void QOpenGLTexture::setBorderColor(uint r, uint g, uint b, uint a)
Устанавливает красный цвет на r, зелёный на g, синий на b, и альфа-значение на a.
Это перегруженная функция.
void QOpenGLTexture::setComparisonFunction(QOpenGLTexture::ComparisonFunction function)
Устанавливает функцию сравнения текстуры для этой текстуры на function. Функция сравнения текстуры используется тенями-самплерами при выборке глубины текстуры.
Эта функция была добавлена в Qt 5.5.
См. также comparisonFunction().
void QOpenGLTexture::setComparisonMode(QOpenGLTexture::ComparisonMode mode)
Устанавливает режим сравнения текстуры для этой текстуры на mode. Режим сравнения текстуры используется тенями-самплерами при выборке глубины текстуры.
Эта функция была добавлена в Qt 5.5.
См. также comparisonMode().
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.
Если вы не используете сжатый формат(), то вместо этой функции используйте setData().
Эта функция была добавлена в Qt 5.3.
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)
Это перегруженный метод.
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().
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.
void QOpenGLTexture::setData(int mipLevel, int layer, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженный метод.
Эта функция была добавлена в Qt 5.3.
void QOpenGLTexture::setData(int mipLevel, QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженный метод.
Эта функция была добавлена в Qt 5.3.
void QOpenGLTexture::setData(QOpenGLTexture::PixelFormat sourceFormat, QOpenGLTexture::PixelType sourceType, const void *data, const QOpenGLPixelTransferOptions *const options = nullptr)
Это перегруженный метод.
Эта функция была добавлена в Qt 5.3.
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.
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.
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.
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.
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, чтобы отключить генерацию мип-карт.
Это перегруженный метод.
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)
Для текстурных целей, поддерживающих мип-мапы, эта функция устанавливает запрошенное количество уровней мип-мапы для выделения памяти. Эту функцию следует вызывать перед выделением памяти для текстуры.
Если текстурная цель не поддерживает мип-мапы, эта функция не оказывает никакого влияния.
См. также mipLevels(), maximumMipLevels() и isStorageAllocated().
void QOpenGLTexture::setMipMaxLevel(int maxLevel)
Устанавливает максимальный уровень мип-мапы, используемый для всех поисков текстуры с этой текстурой, на 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, возвращаемые функциями текстуры. Также желательно иметь возможность управлять этим переупорядочением с помощью кода на стороне процессора. Это стало возможным благодаря маскам переупорядочения с 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
Возвращает маску переупорядочения для текстурного 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-5.15/qopengltexture.html