Spec-Zone.ru › Qt 5.6

Класс QOpenGLShader

Класс QOpenGLShader позволяет компилировать шейдеры OpenGL. Подробнее...

Заголовок: #include <QOpenGLShader>
qmake: QT += gui
С тех пор: Qt 5.0
Наследует: QObject
  • Список всех членов, включая унаследованные

Открытые типы

флаги ТипШейдера
перечисление ТипБитаШейдера { Вершинный, Фрагментный, Геометрический, УправлениеТиссов, ВычислениеТиссов, Вычисление }

Открытые функции

QOpenGLShader(QOpenGLShader::ShaderType type, QObject *parent = Q_NULLPTR)
виртуальный ~QOpenGLShader()
bool скомпилироватьИсходныйКод(const char *source)
bool скомпилироватьИсходныйКод(const QByteArray &source)
bool скомпилироватьИсходныйКод(const QString &source)
bool скомпилироватьИсходныйФайл(const QString &fileName)
bool скомпилировано() const
QString лог() const
GLuint идентификаторШейдера() const
QOpenGLShader::ShaderType типШейдера() const
QByteArray исходныйКод() const
  • 31 открытая функция, унаследованная от QObject

Статические открытые члены

bool имеютсяШейдерыOpenGL(ТипШейдера type, QOpenGLContext *context = Q_NULLPTR)
  • 11 статических открытых членов, унаследованных от QObject

Дополнительные унаследованные члены

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 2 сигнала, унаследованные от QObject
  • 9 защищенных функций, унаследованных от QObject

Подробное описание

Класс QOpenGLShader позволяет компилировать шейдеры OpenGL.

Этот класс поддерживает шейдеры, написанные на языке OpenGL Shading Language (GLSL) и на языке OpenGL/ES Shading Language (GLSL/ES).

QOpenGLShader и QOpenGLShaderProgram скрывают от программиста детали компиляции и линковки шейдеров вершин и фрагментов.

См. также QOpenGLShaderProgram.

Документация типов членов

перечисление QOpenGLShader::ТипБитаШейдера QOpenGLShader::ТипШейдера

Это перечисление определяет тип QOpenGLShader, который создается.

Константа Значение Описание
QOpenGLShader::Vertex 0x0001 Вершинный шейдер, написанный на языке OpenGL Shading Language (GLSL).
QOpenGLShader::Fragment 0x0002 Фрагментный шейдер, написанный на языке OpenGL Shading Language (GLSL).
QOpenGLShader::Geometry 0x0004 Геометрические шейдеры, написанные на языке OpenGL Shading Language (GLSL) на основе ядра OpenGL (требуется OpenGL >= 3.2).
QOpenGLShader::TessellationControl 0x0008 Шейдеры управления тиссов, написанные на языке OpenGL shading language (GLSL), на основе ядра (требуется OpenGL >= 4.0).
QOpenGLShader::TessellationEvaluation 0x0010 Шейдеры вычисления тиссов, написанные на языке OpenGL shading language (GLSL), на основе ядра (требуется OpenGL >= 4.0).
QOpenGLShader::Compute 0x0020 Шейдеры вычислений, написанные на языке OpenGL shading language (GLSL), на основе ядра (требуется OpenGL >= 4.3).

Тип ShaderType является псевдонимом для QFlags<ТипБитаШейдера>. Он хранит комбинацию значений ТипБитаШейдера, объединенных операцией ИЛИ.

Документация функций-членов

QOpenGLShader::QOpenGLShader(QOpenGLShader::ТипШейдера type, QObject *parent = Q_NULLPTR)

Создает новый объект QOpenGLShader указанного type и прикрепляет его к parent. Если программы шейдеров не поддерживаются, QOpenGLShaderProgram::hasOpenGLShaderPrograms() вернет false.

Этот конструктор обычно следует за вызовом скомпилироватьИсходныйКод() или скомпилироватьИсходныйФайл().

Шейдер будет связан с текущим QOpenGLContext.

См. также скомпилироватьИсходныйКод() и скомпилироватьИсходныйФайл().

[virtual] QOpenGLShader::~QOpenGLShader()

Удаляет этот шейдер. Если шейдер был прикреплен к объекту QOpenGLShaderProgram, то фактический шейдер останется до тех пор, пока QOpenGLShaderProgram не будет уничтожен.

bool QOpenGLShader::скомпилироватьИсходныйКод(const char *source)

Устанавливает исходный код для этого шейдера и компилирует его. Возвращает true если исходный код был успешно скомпилирован, иначе false.

См. также скомпилироватьИсходныйФайл().

bool QOpenGLShader::скомпилироватьИсходныйКод(const QByteArray &source)

Это перегруженная функция.

Устанавливает исходный код для этого шейдера и компилирует его. Возвращает true если исходный код был успешно скомпилирован, иначе false.

См. также скомпилироватьИсходныйФайл().

bool QOpenGLShader::скомпилироватьИсходныйКод(const QString &source)

Это перегруженная функция.

Устанавливает исходный код для этого шейдера и компилирует его. Возвращает true если исходный код был успешно скомпилирован, иначе false.

См. также скомпилироватьИсходныйФайл().

bool QOpenGLShader::скомпилироватьИсходныйФайл(const QString &fileName)

Устанавливает исходный код для этого шейдера из содержимого fileName и компилирует его. Возвращает true если файл мог быть открыт и код скомпилирован, иначе false.

См. также скомпилироватьИсходныйКод().

[static] bool QOpenGLShader::имеютсяШейдерыOpenGL(ТипШейдера type, QOpenGLContext *context = Q_NULLPTR)

Возвращает true если программы шейдеров типа type поддерживаются в этой системе; в противном случае false.

context используется для определения расширений GLSL. Если context равен null, используется QOpenGLContext::currentContext().

bool QOpenGLShader::скомпилировано() const

Возвращает true если этот шейдер был скомпилирован; в противном случае false.

См. также скомпилироватьИсходныйКод() и скомпилироватьИсходныйФайл().

QString QOpenGLShader::лог() const

Возвращает ошибки и предупреждения, возникшие во время последней компиляции.

См. также compileSourceCode() и compileSourceFile().

GLuint QOpenGLShader::shaderId() const

Возвращает идентификатор OpenGL, связанный с этим шейдером.

См. также QOpenGLShaderProgram::programId().

QOpenGLShader::ShaderType QOpenGLShader::shaderType() const

Возвращает тип этого шейдера.

QByteArray QOpenGLShader::sourceCode() const

Возвращает исходный код для этого шейдера.

См. также compileSourceCode().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qopenglshader.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API