Класс QOpenGLFramebufferObjectFormat
Класс QOpenGLFramebufferObjectFormat задаёт формат объекта фреймбуфера OpenGL. Подробнее...
| Заголовок: | #include <QOpenGLFramebufferObjectFormat> |
| qmake: | QT += gui |
| С тех пор: | Qt 5.0 |
Этот класс был представлен в Qt 5.0.
Открытые функции
| QOpenGLFramebufferObjectFormat(const QOpenGLFramebufferObjectFormat &other) | |
| QOpenGLFramebufferObjectFormat() | |
| QOpenGLFramebufferObjectFormat & | operator=(const QOpenGLFramebufferObjectFormat &other) |
| ~QOpenGLFramebufferObjectFormat() | |
| QOpenGLFramebufferObject::Attachment | attachment() const |
| GLenum | internalTextureFormat() const |
| bool | mipmap() const |
| int | samples() const |
| void | setAttachment(QOpenGLFramebufferObject::Attachment attachment) |
| void | setInternalTextureFormat(GLenum internalTextureFormat) |
| void | setMipmap(bool enabled) |
| void | setSamples(int samples) |
| void | setTextureTarget(GLenum target) |
| GLenum | textureTarget() const |
| bool | operator!=(const QOpenGLFramebufferObjectFormat &other) const |
| bool | operator==(const QOpenGLFramebufferObjectFormat &other) const |
Подробное описание
Объект фреймбуфера имеет несколько характеристик:
- Количество сэмплов на пиксель.
- Присоединение глубины и/или маски.
- Цель текстуры.
- Внутренний формат текстуры.
Обратите внимание, что желаемые присоединения или количество сэмплов на пиксель могут не поддерживаться драйвером оборудования. Вызовите QOpenGLFramebufferObject::format() после создания QOpenGLFramebufferObject, чтобы найти точный формат, который использовался для создания объекта фреймбуфера.
См. также QOpenGLFramebufferObject.
Документация по функциям-членам
QOpenGLFramebufferObjectFormat::QOpenGLFramebufferObjectFormat(const QOpenGLFramebufferObjectFormat &other)
Создаёт копию other.
QOpenGLFramebufferObjectFormat::QOpenGLFramebufferObjectFormat()
Создаёт объект QOpenGLFramebufferObjectFormat для задания формата объекта фреймбуфера OpenGL.
По умолчанию формат задаёт объект фреймбуфера без сэмплирования с отсутствием присоединения глубины/маски, целью текстуры GL_TEXTURE_2D, и внутренним форматом GL_RGBA8. В системах OpenGL/ES значение по умолчанию для внутреннего формата составляет GL_RGBA.
См. также samples(), attachment() и internalTextureFormat().
QOpenGLFramebufferObjectFormat &QOpenGLFramebufferObjectFormat::operator=(const QOpenGLFramebufferObjectFormat &other)
Присваивает other этому объекту.
QOpenGLFramebufferObjectFormat::~QOpenGLFramebufferObjectFormat()
Уничтожает QOpenGLFramebufferObjectFormat.
QOpenGLFramebufferObject::Attachment QOpenGLFramebufferObjectFormat::attachment() const
Возвращает конфигурацию буферов глубины и маски, присоединённых к объекту фреймбуфера. По умолчанию — QOpenGLFramebufferObject::NoAttachment.
См. также setAttachment().
GLenum QOpenGLFramebufferObjectFormat::internalTextureFormat() const
Возвращает внутренний формат текстуры объекта фреймбуфера или цветового буфера многообразного объекта фреймбуфера. Значение по умолчанию — GL_RGBA8 в системах настольного OpenGL и GL_RGBA в системах OpenGL/ES.
См. также setInternalTextureFormat().
bool QOpenGLFramebufferObjectFormat::mipmap() const
Возвращает true, если включена функция mipmapping.
См. также setMipmap().
int QOpenGLFramebufferObjectFormat::samples() const
Возвращает количество сэмплов на пиксель, если объект фреймбуфера — многообразный объект фреймбуфера. В противном случае возвращает 0. Значение по умолчанию — 0.
См. также setSamples().
void QOpenGLFramebufferObjectFormat::setAttachment(QOpenGLFramebufferObject::Attachment attachment)
Устанавливает конфигурацию присоединения объекта фреймбуфера в attachment.
См. также attachment().
void QOpenGLFramebufferObjectFormat::setInternalTextureFormat(GLenum internalTextureFormat)
Устанавливает внутренний формат текстуры объекта фреймбуфера или цветового буфера многообразного объекта фреймбуфера на internalTextureFormat.
См. также internalTextureFormat().
void QOpenGLFramebufferObjectFormat::setMipmap(bool enabled)
Включает mipmapping, если enabled равно true; в противном случае выключает его.
По умолчанию mipmapping отключено.
Если mipmapping включено, для уровней mipmap будет выделено дополнительная память. Уровни mipmap можно обновить, связав текстуру и вызвав glGenerateMipmap(). Mipmapping не может быть включено для многообразных объектов фреймбуфера.
См. также mipmap() и QOpenGLFramebufferObject::texture().
void QOpenGLFramebufferObjectFormat::setSamples(int samples)
Устанавливает количество сэмплов на пиксель для многообразного объекта фреймбуфера в samples. Значение сэмплов по умолчанию 0 представляет обычный, не многообразный объект фреймбуфера.
Если желаемое количество сэмплов на пиксель не поддерживается аппаратным обеспечением, будет использовано максимальное количество сэмплов на пиксель. Обратите внимание, что многообразные объекты фреймбуфера не могут быть связаны как текстуры. Кроме того, необходим расширение GL_EXT_framebuffer_multisample, чтобы создать фреймбуфер с более чем одним сэмплом на пиксель.
См. также samples().
void QOpenGLFramebufferObjectFormat::setTextureTarget(GLenum target)
Устанавливает цель текстуры текстуры, присоединённой к объекту фреймбуфера, в target. Игнорируется для многообразных объектов фреймбуфера.
См. также textureTarget() и samples().
GLenum QOpenGLFramebufferObjectFormat::textureTarget() const
Возвращает целевое назначение текстуры, прикреплённой к объекту фреймбуфера. Игнорируется для многообразных объектов фреймбуфера. По умолчанию GL_TEXTURE_2D.
См. также setTextureTarget() и samples().
bool QOpenGLFramebufferObjectFormat::operator!=(const QOpenGLFramebufferObjectFormat &other) const
Возвращает false если все параметры формата объекта фреймбуфера совпадают с other; в противном случае возвращает true.
bool QOpenGLFramebufferObjectFormat::operator==(const QOpenGLFramebufferObjectFormat &other) const
Возвращает true если все параметры формата объекта фреймбуфера совпадают с other; в противном случае возвращает false.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qopenglframebufferobjectformat.html