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