Класс QGoochMaterial
(Qt3DRender::QGoochMaterial)Класс QGoochMaterial предоставляет материал, реализующий модель затенения Гуча, популярную в приложениях CAD и CAM. Подробнее...
| Заголовок: | #include <QGoochMaterial> |
| qmake: | QT += 3drender |
| С тех пор: | Qt 5.5 |
| Наследует: | Qt3DRender::QMaterial |
Свойства
- 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