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