Класс QNormalDiffuseSpecularMapMaterial
класс Qt3DExtras::QNormalDiffuseSpecularMapMaterialКласс QNormalDiffuseSpecularMapMaterial предоставляет стандартную реализацию освещения Фонга и эффекта рельефа, где компоненты рассеянного и зеркального света считываются из текстурных карт, а нормали рендерируемой сетки берутся из карты нормалей. Подробнее...
| Заголовок: | #include <QNormalDiffuseSpecularMapMaterial> |
| CMake: | find_package(Qt6 COMPONENTS 3dextras REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
| qmake: | QT += 3dextras |
| С момента: | Qt 5.7 |
| Наследует: | Qt3DRender::QMaterial |
Этот класс устарел. Он предоставляется для поддержки старого кода. Мы настоятельно рекомендуем не использовать его в новом коде.
Свойства
|
Открытые функции
| QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr) | |
| virtual | ~QNormalDiffuseSpecularMapMaterial() |
| QColor | ambient() const |
| Qt3DRender::QAbstractTexture * | diffuse() const |
| Qt3DRender::QAbstractTexture * | normal() const |
| float | shininess() const |
| Qt3DRender::QAbstractTexture * | specular() const |
| float | textureScale() const |
Открытые слоты
| void | setAmbient(const QColor &ambient) |
| void | setDiffuse(Qt3DRender::QAbstractTexture *diffuse) |
| void | setNormal(Qt3DRender::QAbstractTexture *normal) |
| void | setShininess(float shininess) |
| void | setSpecular(Qt3DRender::QAbstractTexture *specular) |
| void | setTextureScale(float textureScale) |
Сигналы
| void | ambientChanged(const QColor &ambient) |
| void | diffuseChanged(Qt3DRender::QAbstractTexture *diffuse) |
| void | normalChanged(Qt3DRender::QAbstractTexture *normal) |
| void | shininessChanged(float shininess) |
| void | specularChanged(Qt3DRender::QAbstractTexture *specular) |
| void | textureScaleChanged(float textureScale) |
Подробное описание
Этот класс устарел; используйте QDiffuseSpecularMaterial вместо него.
Эффект зеркального освещения основан на сочетании 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::QAbstractTexture*
Содержит текущую текстуру карты рассеяния.
По умолчанию текстура рассеяния имеет следующие свойства:
- Линейные фильтры уменьшения и увеличения
- Линейное сглаживание MIP с включенным mipmapping
- Режим повторения обхода
- Максимальная анизотропия 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 : Qt3DRender::QAbstractTexture*
Содержит текущую текстуру карты зеркального отражения.
По умолчанию текстура зеркального отражения имеет следующие свойства:
- Линейные фильтры уменьшения и увеличения
- Линейное сглаживание MIP с включенным mipmapping
- Режим повторения обхода
- Максимальная анизотропия 16.0
Функции доступа:
| Qt3DRender::QAbstractTexture * | specular() const |
| void | setSpecular(Qt3DRender::QAbstractTexture *specular) |
Сигнал уведомления:
| void | specularChanged(Qt3DRender::QAbstractTexture *specular) |
textureScale : float
Содержит текущий масштаб текстуры. Он применяется в качестве множителя к координатам текстуры во время отрисовки. По умолчанию равен 1.0.
При использовании в сочетании с QTextureWrapMode::Repeat, textureScale предоставляет простой способ чередования текстуры по поверхности. Например, масштаб текстуры 4.0 приведет к 16 (4x4) тайлам.
Функции доступа:
| float | textureScale() const |
| void | setTextureScale(float textureScale) |
Сигнал уведомления:
| void | textureScaleChanged(float textureScale) |
Документация функций-членов
QNormalDiffuseSpecularMapMaterial::QNormalDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr)
Создает новый экземпляр QNormalDiffuseSpecularMapMaterial с родительским объектом parent.
[virtual] QNormalDiffuseSpecularMapMaterial::~QNormalDiffuseSpecularMapMaterial()
Удаляет экземпляр QNormalDiffuseSpecularMapMaterial.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3dextras-qnormaldiffusespecularmapmaterial.html