Spec-Zone.ru › Qt 5.9

Класс QGoochMaterial

(Qt3DExtras::QGoochMaterial)

Класс QGoochMaterial предоставляет материал, реализующий модель затенения Гуча, популярную в приложениях САПР и ЧПУ. Подробнее...

Заголовок: #include <QGoochMaterial>
qmake: QT += 3dextras
С тех пор: Qt 5.7
Наследует: Qt3DRender::QMaterial
  • Список всех членов, включая унаследованные

Свойства

  • alpha : float
  • beta : float
  • cool : QColor
  • diffuse : QColor
  • shininess : float
  • specular : QColor
  • warm : QColor
  • 1 свойство унаследовано от Qt3DRender::QMaterial
  • 1 свойство унаследовано от Qt3DCore::QComponent
  • 3 свойства унаследовано от Qt3DCore::QNode
  • 1 свойство унаследовано от QObject

Публичные функции

QGoochMaterial(Qt3DCore::QNode *parent = nullptr)
float alpha() const
float beta() const
QColor cool() const
QColor diffuse() const
float shininess() const
QColor specular() const
QColor warm() const
  • 4 публичные функции унаследованы от Qt3DRender::QMaterial
  • 2 публичные функции унаследованы от Qt3DCore::QComponent
  • 11 публичных функций унаследованы от Qt3DCore::QNode
  • 32 публичные функции унаследованы от QObject

Публичные слоты

void setAlpha(float alpha)
void setBeta(float beta)
void setCool(const QColor &cool)
void setDiffuse(const QColor &diffuse)
void setShininess(float shininess)
void setSpecular(const QColor &specular)
void setWarm(const QColor &warm)
  • 1 публичный слот унаследован от Qt3DRender::QMaterial
  • 1 публичный слот унаследован от Qt3DCore::QComponent
  • 3 публичных слота унаследованы от Qt3DCore::QNode
  • 1 публичный слот унаследован от QObject

Сигналы

void alphaChanged(float alpha)
void betaChanged(float beta)
void coolChanged(const QColor &cool)
void diffuseChanged(const QColor &diffuse)
void shininessChanged(float shininess)
void specularChanged(const QColor &specular)
void warmChanged(const QColor &warm)
  • 1 сигнал унаследован от Qt3DRender::QMaterial
  • 3 сигнала унаследованы от Qt3DCore::QComponent
  • 4 сигнала унаследованы от Qt3DCore::QNode
  • 2 сигнала унаследованы от QObject

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

QGoochMaterial(QGoochMaterialPrivate &dd, Qt3DCore::QNode *parent = nullptr)
  • 2 защищённые функции унаследованы от Qt3DCore::QNode
  • 9 защищённых функций унаследованы от QObject

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

  • 11 статических публичных членов унаследованы от QObject

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

Класс QGoochMaterial предоставляет материал, реализующий модель затенения Гуча, популярную в приложениях САПР и ЧПУ.

Модель освещения Гуча использует цвет и яркость, чтобы отобразить кривизну 3D-поверхностей. Это часто лучше, чем модели, такие как Фонг, которые полагаются только на изменения яркости. В ситуациях, таких как в приложениях САПР и ЧПУ, где фотореализм не является целью, модель затенения Гуча в сочетании с каким-либо начертанием контура силуэта является популярным решением.

Модель освещения Гуча подробно описана в исходной статье Гуча. Модель Гуча смешивает цвет объекта с диффузным цветом с заданными пользователем холодным и тёплым цветами, чтобы получить конечные точки цветовой гаммы, которая используется для затенения объекта, основываясь на косинусе угла между вектором от фрагмента к источнику света и нормалью фрагмента. По желанию, сверху можно добавить зеркальный блик. Относительные вклады холодных и тёплых цветов в диффузный цвет контролируются свойствами alpha и beta соответственно.

Этот материал использует эффект с одним проходом рендеринга и выполняет освещение на фрагмент. Предусмотрены методы для OpenGL 2, OpenGL 3 или выше, а также OpenGL ES 2.

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

alpha : float

Содержит текущее значение альфа. Начальная точка цветовой гаммы, используемой шейдером Gooch, вычисляется как {c = cool + alpha * diffuse}.

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

float alpha() const
void setAlpha(float alpha)

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

void alphaChanged(float alpha)

beta : float

Содержит текущее значение бета. Начальная точка цветовой гаммы, используемой шейдером Gooch, вычисляется как {c = warm + beta * diffuse}.

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

float beta() const
void setBeta(float beta)

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

void betaChanged(float beta)

cool : QColor

Содержит текущий холодный цвет.

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

QColor cool() const
void setCool(const QColor &cool)

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

void coolChanged(const QColor &cool)

diffuse : QColor

Содержит текущий рассеянный цвет.

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

QColor diffuse() const
void setDiffuse(const QColor &diffuse)

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

void diffuseChanged(const QColor &diffuse)

shininess : float

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

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

float shininess() const
void setShininess(float shininess)

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

void shininessChanged(float shininess)

specular : QColor

Содержит текущий цвет зеркального отражения.

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

QColor specular() const
void setSpecular(const QColor &specular)

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

void specularChanged(const QColor &specular)

warm : QColor

Содержит текущий теплый цвет.

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

QColor warm() const
void setWarm(const QColor &warm)

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

void warmChanged(const QColor &warm)

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

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

Создает экземпляр QGoochMaterial по умолчанию.

[protected] QGoochMaterial::QGoochMaterial(QGoochMaterialPrivate &dd, Qt3DCore::QNode *parent = nullptr)

Конструктор копирования.

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

Spec-Zone.ru

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