Класс QNormalDiffuseSpecularMapMaterial
(Qt3DRender::QNormalDiffuseSpecularMapMaterial)Класс QNormalDiffuseSpecularMapMaterial предоставляет базовую реализацию освещения Фонга и эффекта рельефа, где компоненты рассеянного и зеркального света считываются из текстурных карт, а нормали отображаемой сетки — из карты нормалей. Подробнее...
| Заголовок: | #include <QNormalDiffuseSpecularMapMaterial> |
| qmake: | QT += 3drender |
| С тех пор: | Qt 5.5 |
| Наследует: | Qt3DRender::QMaterial |
Свойства
|
- 1 свойство унаследовано от Qt3DRender::QMaterial
- 1 свойство унаследовано от Qt3DCore::QComponent
- 2 свойства унаследовано от Qt3DCore::QNode
- 1 свойство унаследовано от QObject
Открытые функции
| QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = Q_NULLPTR) | |
| ~QNormalDiffuseSpecularMapMaterial() | |
| QColor | ambient() const |
| QAbstractTextureProvider * | diffuse() const |
| QAbstractTextureProvider * | normal() const |
| float | shininess() const |
| QAbstractTextureProvider * | specular() const |
| float | textureScale() const |
- 6 открытых функций унаследовано от Qt3DRender::QMaterial
- 2 открытых функции унаследовано от Qt3DCore::QComponent
- 6 открытых функций унаследовано от Qt3DCore::QNode
- 31 открытых функций унаследовано от QObject
Открытые слоты
| void | setAmbient(const QColor &ambient) |
| void | setDiffuse(QAbstractTextureProvider *diffuse) |
| void | setNormal(QAbstractTextureProvider *normal) |
| void | setShininess(float shininess) |
| void | setSpecular(QAbstractTextureProvider *specular) |
| void | setTextureScale(float textureScale) |
- 1 открытый слот унаследовано от Qt3DRender::QMaterial
- 1 открытый слот унаследовано от Qt3DCore::QComponent
- 2 открытых слота унаследовано от Qt3DCore::QNode
- 1 открытый слот унаследовано от QObject
Сигналы
| void | ambientChanged(const QColor &ambient) |
| void | diffuseChanged(QAbstractTextureProvider *diffuse) |
| void | normalChanged(QAbstractTextureProvider *normal) |
| void | shininessChanged(float shininess) |
| void | specularChanged(QAbstractTextureProvider *specular) |
| void | textureScaleChanged(float textureScale) |
- 1 сигнал унаследовано от Qt3DRender::QMaterial
- 2 сигнала унаследовано от Qt3DCore::QComponent
- 2 сигнала унаследовано от Qt3DCore::QNode
- 2 сигнала унаследовано от QObject
Защищенные функции
| QNormalDiffuseSpecularMapMaterial(QNormalDiffuseSpecularMapMaterialPrivate &dd, Qt3DCore::QNode *parent = Q_NULLPTR) |
- 1 защищенная функция унаследовано от Qt3DRender::QMaterial
- 1 защищенная функция унаследовано от Qt3DCore::QComponent
- 3 защищенных функции унаследовано от Qt3DCore::QNode
- 9 защищенных функций унаследовано от QObject
Дополнительные унаследованные члены
- 11 статических открытых членов унаследовано от QObject
- 1 статический защищенный член унаследовано от Qt3DCore::QNode
Подробное описание
Класс QNormalDiffuseSpecularMapMaterial предоставляет базовую реализацию освещения Фонга и эффекта рельефа, где компоненты рассеянного и зеркального света считываются из текстурных карт, а нормали отображаемой сетки — из карты нормалей.
Эффект зеркального освещения основан на сочетании 3 компонентов освещения: окружающего, рассеянного и зеркального. Относительная интенсивность этих компонентов регулируется коэффициентами отражения, которые моделируются как RGB-тройки:
- Окружающий — цвет, излучаемый объектом без других источников света.
- Рассеянный — цвет, излучаемый при отражении света от шероховатой поверхности.
- Зеркальный — цвет, излучаемый при отражении света от глянцевой поверхности.
- Глянц поверхности регулируется свойством float.
Этот материал использует эффект с одним проходом отрисовки и выполняет освещение на фрагментном уровне. Предусмотрены методы для OpenGL 2, OpenGL 3 или выше, а также OpenGL ES 2.
Документация свойств
ambient : QColor
Содержит текущий цвет окружающей среды.
Функции доступа:
| QColor | ambient() const |
| void | setAmbient(const QColor &ambient) |
Сигнал уведомления:
| void | ambientChanged(const QColor &ambient) |
diffuse : Qt3DRender::QAbstractTextureProvider *
Содержит текстуру текущей диффузной карты.
По умолчанию текстура диффузии имеет следующие свойства:
- Линейные фильтры уменьшения и увеличения
- Линейное mipmap с включенным mipmapping
- Режим повторения
- Максимальная анизотропия 16.0
Функции доступа:
| QAbstractTextureProvider * | diffuse() const |
| void | setDiffuse(QAbstractTextureProvider *diffuse) |
Сигнал уведомления:
| void | diffuseChanged(QAbstractTextureProvider *diffuse) |
normal : Qt3DRender::QAbstractTextureProvider *
Содержит текущую текстуру карты нормалей.
По умолчанию текстура нормалей имеет следующие свойства:
- Линейные фильтры уменьшения и увеличения
- Режим повторения
- Максимальная анизотропия 16.0
Функции доступа:
| QAbstractTextureProvider * | normal() const |
| void | setNormal(QAbstractTextureProvider *normal) |
Сигнал уведомления:
| void | normalChanged(QAbstractTextureProvider *normal) |
shininess : float
Содержит текущую степень блеска в виде значения с плавающей точкой.
Функции доступа:
| float | shininess() const |
| void | setShininess(float shininess) |
Сигнал уведомления:
| void | shininessChanged(float shininess) |
specular : Qt3DRender::QAbstractTextureProvider *
Содержит текущую текстуру карты зеркального отражения.
По умолчанию текстура зеркального отражения имеет следующие свойства:
- Линейные фильтры уменьшения и увеличения
- Линейное mipmap с включенным mipmapping
- Режим повторения
- Максимальная анизотропия 16.0
Функции доступа:
| QAbstractTextureProvider * | specular() const |
| void | setSpecular(QAbstractTextureProvider *specular) |
Сигнал уведомления:
| void | specularChanged(QAbstractTextureProvider *specular) |
textureScale : float
Содержит текущий масштаб текстуры в виде значения с плавающей точкой.
Функции доступа:
| float | textureScale() const |
| void | setTextureScale(float textureScale) |
Сигнал уведомления:
| void | textureScaleChanged(float textureScale) |
Документация функций-членов
QNormalDiffuseSpecularMapMaterial::QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = Q_NULLPTR)
Создает экземпляр QNormalDiffuseSpecularMapMaterial по умолчанию.
[protected] QNormalDiffuseSpecularMapMaterial::QNormalDiffuseSpecularMapMaterial(QNormalDiffuseSpecularMapMaterialPrivate &dd, Qt3DCore::QNode *parent = Q_NULLPTR)
Копирующий конструктор.
QNormalDiffuseSpecularMapMaterial::~QNormalDiffuseSpecularMapMaterial()
Удаляет экземпляр Qt3DRender::QNormalDiffuseSpecularMapMaterial.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qt3drender-qnormaldiffusespecularmapmaterial.html