Spec-Zone.ru › Qt 5.9

Класс QShaderProgram

(Qt3DRender::QShaderProgram)

Оборачивает программу шейдеров. Подробнее...

Заголовок: #include <QShaderProgram>
qmake: QT += 3drender
С версии: Qt 5.5
Инициализируется: ShaderProgram
Наследует: Qt3DCore::QNode
  • Список всех членов, включая унаследованные

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

перечисление ТипШейдера { Вершинный, Фрагментный, УправлениеТисслером, ОценкаТисслера, Геометрия, Вычисление }
перечисление Статус { НеГотово, Готово, Ошибка }

Свойства

  • computeShaderCode : QByteArray
  • fragmentShaderCode : QByteArray
  • geometryShaderCode : QByteArray
  • лог : const QString
  • статус : const Статус
  • tessellationControlShaderCode : QByteArray
  • tessellationEvaluationShaderCode : QByteArray
  • vertexShaderCode : QByteArray
  • 3 свойства унаследованы от Qt3DCore::QNode
  • 1 свойство унаследовано от QObject

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

QShaderProgram(Qt3DCore::QNode *parent = nullptr)
~QShaderProgram()
QByteArray computeShaderCode() const
QByteArray fragmentShaderCode() const
QByteArray geometryShaderCode() const
QString лог() const
void setShaderCode(ТипШейдера type, const QByteArray &shaderCode)
QByteArray shaderCode(ТипШейдера type) const
Статус статус() const
QByteArray tessellationControlShaderCode() const
QByteArray tessellationEvaluationShaderCode() const
QByteArray vertexShaderCode() const
  • 11 открытых функций унаследовано от Qt3DCore::QNode
  • 32 открытых функции унаследовано от QObject

Открытые слоты

void setComputeShaderCode(const QByteArray &computeShaderCode)
void setFragmentShaderCode(const QByteArray &fragmentShaderCode)
void setGeometryShaderCode(const QByteArray &geometryShaderCode)
void setTessellationControlShaderCode(const QByteArray &tessellationControlShaderCode)
void setTessellationEvaluationShaderCode(const QByteArray &tessellationEvaluationShaderCode)
void setVertexShaderCode(const QByteArray &vertexShaderCode)
  • 3 открытых слота унаследовано от Qt3DCore::QNode
  • 1 открытый слот унаследовано от QObject

Сигналы

void computeShaderCodeChanged(const QByteArray &computeShaderCode)
void fragmentShaderCodeChanged(const QByteArray &fragmentShaderCode)
void geometryShaderCodeChanged(const QByteArray &geometryShaderCode)
void logChanged(const QString &log)
void statusChanged(Статус status)
void tessellationControlShaderCodeChanged(const QByteArray &tessellationControlShaderCode)
void tessellationEvaluationShaderCodeChanged(const QByteArray &tessellationEvaluationShaderCode)
void vertexShaderCodeChanged(const QByteArray &vertexShaderCode)
  • 4 сигнала унаследовано от Qt3DCore::QNode
  • 2 сигнала унаследовано от QObject

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

QByteArray loadSource(const QUrl &sourceUrl)
  • 11 статических открытых членов унаследовано от QObject

Защищенные функции

QShaderProgram(QShaderProgramPrivate &dd, Qt3DCore::QNode *parent = nullptr)
void sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change)
  • 2 защищенных функции унаследовано от Qt3DCore::QNode
  • 9 защищенных функций унаследовано от QObject

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

Оборачивает программу шейдеров.

Программа шейдеров состоит из нескольких различных шейдеров, таких как шейдеры вершин и фрагментов.

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

перечисление QShaderProgram::ТипШейдера

Это перечисление идентифицирует тип используемого шейдера.

Постоянная Значение Описание
Qt3DRender::QShaderProgram::Vertex 0 Вершинный шейдер
Qt3DRender::QShaderProgram::Fragment 1 Фрагментный шейдер
Qt3DRender::QShaderProgram::TessellationControl 2 Шейдер управления разбивкой
Qt3DRender::QShaderProgram::TessellationEvaluation 3 Шейдер вычисления разбивки
Qt3DRender::QShaderProgram::Geometry 4 Геометрический шейдер
Qt3DRender::QShaderProgram::Compute 5 Шейдер вычислений

enum QShaderProgram::Status

Этот перечисление определяет состояние используемого шейдера.

Постоянная Значение Описание
Qt3DRender::QShaderProgram::NotReady 0 Шейдер еще не был скомпилирован и связан
Qt3DRender::QShaderProgram::Ready 1 Шейдер был успешно скомпилирован
Qt3DRender::QShaderProgram::Error 2 При компиляции шейдера произошла ошибка

Документация свойств

computeShaderCode : QByteArray

Содержит код шейдера вычислений, используемый этой программой шейдеров.

Функции доступа:

QByteArray computeShaderCode() const
void setComputeShaderCode(const QByteArray &computeShaderCode)

Сигнал уведомления:

void computeShaderCodeChanged(const QByteArray &computeShaderCode)

fragmentShaderCode : QByteArray

Содержит код фрагментного шейдера, используемый этой программой шейдеров.

Функции доступа:

QByteArray fragmentShaderCode() const
void setFragmentShaderCode(const QByteArray &fragmentShaderCode)

Сигнал уведомления:

void fragmentShaderCodeChanged(const QByteArray &fragmentShaderCode)

geometryShaderCode : QByteArray

Содержит код геометрического шейдера, используемый этой программой шейдеров.

Функции доступа:

QByteArray geometryShaderCode() const
void setGeometryShaderCode(const QByteArray &geometryShaderCode)

Сигнал уведомления:

void geometryShaderCodeChanged(const QByteArray &geometryShaderCode)

log : const QString

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

Функции доступа:

QString log() const

Сигнал уведомления:

void logChanged(const QString &log)

status : const Status

Содержит состояние текущей программы шейдеров.

Функции доступа:

Status status() const

Сигнал уведомления:

void statusChanged(Status status)

tessellationControlShaderCode : QByteArray

Содержит код шейдера управления разбивкой, используемый этой программой шейдеров.

Функции доступа:

QByteArray tessellationControlShaderCode() const
void setTessellationControlShaderCode(const QByteArray &tessellationControlShaderCode)

Сигнал уведомления:

void tessellationControlShaderCodeChanged(const QByteArray &tessellationControlShaderCode)

tessellationEvaluationShaderCode : QByteArray

Содержит код шейдера вычисления разбивки, используемый этой программой шейдеров.

Функции доступа:

QByteArray tessellationEvaluationShaderCode() const
void setTessellationEvaluationShaderCode(const QByteArray &tessellationEvaluationShaderCode)

Сигнал уведомления:

void tessellationEvaluationShaderCodeChanged(const QByteArray &tessellationEvaluationShaderCode)

vertexShaderCode : QByteArray

Содержит код вершинного шейдера, используемый этой программой шейдеров.

Функции доступа:

QByteArray vertexShaderCode() const
void setVertexShaderCode(const QByteArray &vertexShaderCode)

Сигнал уведомления:

void vertexShaderCodeChanged(const QByteArray &vertexShaderCode)

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

QShaderProgram::QShaderProgram(Qt3DCore::QNode *parent = nullptr)

Инициализирует экземпляр QShaderProgram.

[protected] QShaderProgram::QShaderProgram(QShaderProgramPrivate &dd, Qt3DCore::QNode *parent = nullptr)

Копирующий конструктор.

QShaderProgram::~QShaderProgram()

Удаляет экземпляр QShaderProgram.

[static] QByteArray QShaderProgram::loadSource(const QUrl &sourceUrl)

Возвращает код шейдера, загруженный из sourceUrl.

[protected] void QShaderProgram::sceneChangeEvent(const Qt3DCore::QSceneChangePtr &change)

Публикует изменение сцены с параметром change.

void QShaderProgram::setShaderCode(ShaderType type, const QByteArray &shaderCode)

Устанавливает код шейдера для type шейдера на shaderCode.

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

QByteArray QShaderProgram::shaderCode(ShaderType type) const

Возвращает код шейдера для type.

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

Состояние QShaderProgram::status() const

Возвращает состояние текущей программы шейдера.

Примечание: Функция-получатель свойства состояние.

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

Spec-Zone.ru

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