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