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