Spec-Zone.ru › Qt

Класс 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
  • Список всех членов, включая унаследованные

Свойства

  • alphaBlending : bool
  • ambient : QColor
  • diffuse : QVariant
  • normal : QVariant
  • shininess : float
  • specular : QVariant
  • textureScale : float

Открытые функции

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, при отрисовке. По умолчанию значение ложь.

Функции доступа:

bool isAlphaBlendingEnabled() const
void setAlphaBlendingEnabled(bool enabled)

Сигнал уведомления:

void alphaBlendingEnabledChanged(bool enabled)

ambient : QColor

Содержит цвет окружающего света, испускаемый объектом без других источников света.

Функции доступа:

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

Содержит показатель блеска. Большие значения показателя блеска приводят к более маленькому и яркому блику.

По умолчанию 150.0.

Функции доступа:

float shininess() const
void setShininess(float shininess)

Сигнал уведомления:

void shininessChanged(float shininess)

specular : QVariant

Содержит цвет материала, излучаемый при отражении от глянцевой поверхности с источниками света. Может быть как обычным цветом, так и текстурой.

Функции доступа:

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.2/qt3dextras-qdiffusespecularmaterial.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API