Класс QDiffuseSpecularMaterial
класс Qt3DExtras::QDiffuseSpecularMaterialКласс QDiffuseSpecularMaterial предоставляет стандартную реализацию эффекта освещения Фонга. Подробнее...
| Заголовок: | #include <QDiffuseSpecularMaterial> |
| CMake: | find_package(Qt6 COMPONENTS 3dextras REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3dextras) |
| qmake: | QT += 3dextras |
| С момента: | Qt 5.10 |
| Инициализируется: | DiffuseSpecularMaterial |
| Наследуется от: | Qt3DRender::QMaterial |
Свойства
|
|
Открытые функции
| QDiffuseSpecularMaterial(Qt3DCore::QNode *parent = nullptr) | |
| virtual | ~QDiffuseSpecularMaterial() |
| QColor | ambient() const |
| QVariant | diffuse() const |
| bool | isAlphaBlendingEnabled() const |
| QVariant | normal() const |
| float | shininess() const |
| QVariant | specular() const |
| float | textureScale() const |
Открытые слоты
| void | setAlphaBlendingEnabled(bool enabled) |
| void | setAmbient(const QColor &ambient) |
| void | setDiffuse(const QVariant &diffuse) |
| void | setNormal(const QVariant &normal) |
| void | setShininess(float shininess) |
| void | setSpecular(const QVariant &specular) |
| void | setTextureScale(float textureScale) |
Сигналы
| void | alphaBlendingEnabledChanged(bool enabled) |
| void | ambientChanged(const QColor &ambient) |
| void | diffuseChanged(const QVariant &diffuse) |
| void | normalChanged(const QVariant &normal) |
| void | shininessChanged(float shininess) |
| void | specularChanged(const QVariant &specular) |
| void | textureScaleChanged(float textureScale) |
Подробное описание
Эффект освещения Фонга основан на сочетании трех компонентов освещения: ambient, diffuse и specular. Относительные интенсивности этих компонентов регулируются коэффициентами отражения, которые моделируются как тройки RGB:
- Ambient — это цвет, излучаемый объектом без других источников света.
- Diffuse — это цвет, излучаемый при отражении света от шероховатой поверхности.
- Specular — это цвет, излучаемый при отражении света от глянцевой поверхности.
- Глянцовость поверхности регулируется свойством float.
Этот материал использует эффект с одним проходом рендеринга и выполняет освещение по фрагменту. Доступны методы для OpenGL 2, OpenGL 3 или выше, а также OpenGL ES 2.
Документация свойств
alphaBlending : bool
Указывает, будет ли учитываться альфа-информация, полученная от свойства diffuse, при отрисовке. По умолчанию false.
Функции доступа:
| bool | isAlphaBlendingEnabled() const |
| void | setAlphaBlendingEnabled(bool enabled) |
Сигнал уведомления:
| void | alphaBlendingEnabledChanged(bool enabled) |
ambient : QColor
Содержит цвет ambient, излучаемый объектом без других источников света.
Функции доступа:
| QColor | ambient() const |
| void | setAmbient(const QColor &ambient) |
Сигнал уведомления:
| void | ambientChanged(const QColor &ambient) |
diffuse : QVariant
Содержит диффузный цвет материала, излучаемый для отражения от шероховатых поверхностей с освещением. Может быть как обычным цветом, так и текстурой.
Функции доступа:
| QVariant | diffuse() const |
| void | setDiffuse(const QVariant &diffuse) |
Сигнал уведомления:
| void | diffuseChanged(const QVariant &diffuse) |
normal : QVariant
Содержит текущую текстуру нормали материала. Может быть только текстурой, в противном случае игнорируется. По умолчанию текстура не задана.
Функции доступа:
| QVariant | normal() const |
| void | setNormal(const QVariant &normal) |
Сигнал уведомления:
| void | normalChanged(const QVariant &normal) |
shininess : float
Содержит показатель блеска. Более высокие значения shininess приводят к меньшему и более яркому блику.
По умолчанию 150.0.
Функции доступа:
| float | shininess() const |
| void | setShininess(float shininess) |
Сигнал уведомления:
| void | shininessChanged(float shininess) |
specular : QVariant
Содержит цвет specular материала, излучаемый для отражения от блестящих поверхностей с освещением. Может быть как обычным цветом, так и текстурой.
Функции доступа:
| QVariant | specular() const |
| void | setSpecular(const QVariant &specular) |
Сигнал уведомления:
| void | specularChanged(const QVariant &specular) |
textureScale : float
Содержит текущий масштаб текстуры. Он применяется как множитель к координатам текстуры во время отрисовки. По умолчанию 1.0.
В сочетании с QTextureWrapMode::Repeat, textureScale предоставляет простой способ создания узора текстуры на поверхности. Например, масштаб текстуры 4.0 приведет к 16 (4x4) тайлам.
Функции доступа:
| float | textureScale() const |
| void | setTextureScale(float textureScale) |
Сигнал уведомления:
| void | textureScaleChanged(float textureScale) |
Документация функций-членов
QDiffuseSpecularMaterial::QDiffuseSpecularMaterial(Qt3DCore::QNode *parent = nullptr)
Создаёт новый экземпляр QDiffuseSpecularMaterial с родительским объектом parent.
[virtual] QDiffuseSpecularMaterial::~QDiffuseSpecularMaterial()
Уничтожает QDiffuseSpecularMaterial.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3dextras-qdiffusespecularmaterial.html