Класс QNormalDiffuseMapMaterial
(Qt3DExtras::QNormalDiffuseMapMaterial)Класс QNormalDiffuseMapMaterial предоставляет стандартную реализацию освещения Фонга и эффекта рельефа, где компонент рассеянного света считывается из карты текстур, а нормали рендерируемой модели — из карты нормалей. Подробнее...
| Заголовок: | #include <QNormalDiffuseMapMaterial> |
| qmake: | QT += 3dextras |
| С момента: | Qt 5.7 |
| Наследует: | Qt3DRender::QMaterial |
| Наследуется от: |
Свойства
|
- 1 свойство унаследовано от Qt3DRender::QMaterial
- 1 свойство унаследовано от Qt3DCore::QComponent
- 3 свойства унаследовано от Qt3DCore::QNode
- 1 свойство унаследовано от QObject
Публичные функции
| QNormalDiffuseMapMaterial(Qt3DCore::QNode *parent = nullptr) | |
| ~QNormalDiffuseMapMaterial() | |
| QColor | ambient() const |
| Qt3DRender::QAbstractTexture * | diffuse() const |
| Qt3DRender::QAbstractTexture * | normal() const |
| float | shininess() const |
| QColor | specular() const |
| float | textureScale() const |
- 4 публичных функции унаследованы от Qt3DRender::QMaterial
- 2 публичных функции унаследованы от Qt3DCore::QComponent
- 11 публичных функций унаследованы от Qt3DCore::QNode
- 32 публичных функции унаследованы от QObject
Публичные слоты
| void | setAmbient(const QColor &ambient) |
| void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
| void | setNormal(Qt3DRender::QAbstractTexture *normal) |
| void | setShininess(float shininess) |
| void | setSpecular(const QColor &specular) |
| void | setTextureScale(float textureScale) |
- 1 публичный слот унаследован от Qt3DRender::QMaterial
- 1 публичный слот унаследован от Qt3DCore::QComponent
- 3 публичных слота унаследованы от Qt3DCore::QNode
- 1 публичный слот унаследован от QObject
Сигналы
| void | ambientChanged(const QColor &ambient) |
| void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
| void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
| void | shininessChanged(float shininess) |
| void | specularChanged(const QColor &specular) |
| void | textureScaleChanged(float textureScale) |
- 1 сигнал унаследован от Qt3DRender::QMaterial
- 3 сигнала унаследованных от Qt3DCore::QComponent
- 4 сигнала унаследованных от Qt3DCore::QNode
- 2 сигнала унаследованных от QObject
Защищенные функции
| QNormalDiffuseMapMaterial(QNormalDiffuseMapMaterialPrivate &dd, Qt3DCore::QNode *parent = nullptr) |
- 2 защищенных функции унаследованных от Qt3DCore::QNode
- 9 защищенных функций унаследованных от QObject
Дополнительные унаследованные члены
- 11 статических публичных членов унаследованных от QObject
Подробное описание
Класс QNormalDiffuseMapMaterial предоставляет реализацию освещения по модели Фонга и эффекта рельефа, где компонент рассеянного света читается из текстуры, а нормали отображаемой сетки — из текстуры нормалей.
Эффект отраженного света основан на сочетании 3 компонентов освещения: окружающего, рассеянного и зеркального. Относительная интенсивность этих компонентов регулируется коэффициентами отражения, которые моделируются как RGB-тройки:
- Окружающий — цвет, испускаемый объектом без других источников света.
- Рассеянный — цвет, испускаемый при отражении света от грубой поверхности.
- Зеркальный — цвет, испускаемый при отражении света от глянцевой поверхности.
- Глянцевость поверхности регулируется плавающей точкой.
Этот материал использует эффект с однопроходной отрисовкой и выполняет освещение по фрагменту. Обеспечиваются методы для OpenGL 2, OpenGL 3 или выше, а также OpenGL ES 2.
Документация свойств
ambient : QColor
Содержит текущий цвет окружающей среды.
Функции доступа:
| QColor | ambient() const |
| void | setAmbient(const QColor &ambient) |
Сигнал уведомления:
| void | ambientChanged(const QColor &ambient) |
diffuse : Qt3DRender::QAbstractTexture *
Содержит текущую текстуру карты рассеивания.
По умолчанию текстура рассеивания имеет следующие свойства:
- Линейные фильтры уменьшения и увеличения
- Линейное mip-картирование с включенным mip-картированием
- Режим повторения
- Максимальная анизотропия 16.0
Функции доступа:
| Qt3DRender::QAbstractTexture * | diffuse() const |
| void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
Сигнал уведомления:
| void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
normal : Qt3DRender::QAbstractTexture *
Содержит текущую текстуру карты нормалей.
По умолчанию текстура нормалей имеет следующие свойства:
- Линейные фильтры уменьшения и увеличения
- Режим повторения
- Максимальная анизотропия 16.0
Функции доступа:
| Qt3DRender::QAbstractTexture * | normal() const |
| void | setNormal(Qt3DRender::QAbstractTexture *normal) |
Сигнал уведомления:
| void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
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) |
textureScale : float
Содержит текущий масштаб текстуры. Он применяется как множитель к координатам текстуры во время рендеринга. По умолчанию равен 1.0.
Функции доступа:
| float | textureScale() const |
| void | setTextureScale(float textureScale) |
Сигнал уведомления:
| void | textureScaleChanged(float textureScale) |
Документация по членам-функциям
QNormalDiffuseMapMaterial::QNormalDiffuseMapMaterial(Qt3DCore::QNode *parent = nullptr)
Создаёт экземпляр QNormalDiffuseMapMaterial по умолчанию.
[protected] QNormalDiffuseMapMaterial::QNormalDiffuseMapMaterial(QNormalDiffuseMapMaterialPrivate &dd, Qt3DCore::QNode *parent = nullptr)
Конструктор копирования.
QNormalDiffuseMapMaterial::~QNormalDiffuseMapMaterial()
Удаляет экземпляр QNormalDiffuseMapMaterial.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qt3dextras-qnormaldiffusemapmaterial.html