Spec-Zone.ru › Qt 5.6

Класс QGoochMaterial

(Qt3DRender::QGoochMaterial)

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

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

Свойства

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

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

QGoochMaterial(Qt3DCore::QNode *parent = Q_NULLPTR)
float alpha() const
float beta() const
QColor cool() const
QColor diffuse() const
float shininess() const
QColor specular() const
QColor warm() const
  • 6 открытых функций унаследовано от Qt3DRender::QMaterial
  • 2 открытых функции унаследовано от Qt3DCore::QComponent
  • 6 открытых функций унаследовано от Qt3DCore::QNode
  • 31 открытых функций унаследовано от 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
  • 2 открытых слота унаследованы от 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
  • 2 сигнала унаследованы от Qt3DCore::QComponent
  • 2 сигнала унаследованы от Qt3DCore::QNode
  • 2 сигнала унаследованы от QObject

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

QGoochMaterial(QGoochMaterialPrivate &dd, Qt3DCore::QNode *parent = Q_NULLPTR)
  • 1 защищенная функция унаследована от Qt3DRender::QMaterial
  • 1 защищенная функция унаследована от Qt3DCore::QComponent
  • 3 защищенные функции унаследованы от Qt3DCore::QNode
  • 9 защищенных функций унаследованы от QObject

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

  • 11 статических открытых членов унаследовано от QObject
  • 1 статический защищенный член унаследован от Qt3DCore::QNode

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

Класс QGoochMaterial предоставляет материал, реализующий модель затенения Гуча, популярную в приложениях CAD и CAM.

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

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

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

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

alpha : float

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

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

float alpha() const
void setAlpha(float alpha)

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

void alphaChanged(float alpha)

beta : float

Содержит текущее значение beta. Начальная точка цветовой шкалы, используемой шейдером 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 = Q_NULLPTR)

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

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

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

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

Spec-Zone.ru

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