Spec-Zone.ru › Qt 6.1

Класс QGoochMaterial

класс Qt3DExtras::QGoochMaterial

Класс QGoochMaterial предоставляет материал, реализующий модель затенения Гуча, популярную в приложениях САПР и СЧПУ. Подробнее...

Заголовок: #include <QGoochMaterial>
CMake: find_package(Qt6 COMPONENTS 3dextras REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
С момента: Qt 5.7
Наследуется от: Qt3DRender::QMaterial
  • Список всех членов, включая унаследованные

Свойства

  • alpha : float
  • beta : float
  • cool : QColor
  • diffuse : QColor
  • shininess : float
  • specular : QColor
  • warm : QColor

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

QGoochMaterial(Qt3DCore::QNode *parent = nullptr)
float alpha() const
float beta() const
QColor cool() const
QColor diffuse() const
float shininess() const
QColor specular() const
QColor warm() const

Открытые слоты

void setAlpha(float alpha)
void setBeta(float beta)
void setCool(const QColor &cool)
void setDiffuse(const QColor &diffuse)
void setShininess(float shininess)
void setSpecular(const QColor &specular)
void setWarm(const QColor &warm)

Сигналы

void alphaChanged(float alpha)
void betaChanged(float beta)
void coolChanged(const QColor &cool)
void diffuseChanged(const QColor &diffuse)
void shininessChanged(float shininess)
void specularChanged(const QColor &specular)
void warmChanged(const QColor &warm)

Подробное описание

Модель освещения Гуча использует как цвет, так и яркость для отображения кривизны 3D-поверхностей. Это часто лучше, чем модели, такие как Фонг, которые полагаются исключительно на изменения яркости. В ситуациях, таких как в приложениях САПР и СЧПУ, где фотореализм не является целью, модель затенения Гуча в сочетании с каким-либо видом инкирования контуров силуэта является популярным решением.

Модель освещения Гуча подробно описана в оригинальной статье Гуча. Модель Гуча смешивает цвет объекта по умолчанию с заданным пользователем холодным цветом и теплым цветом, чтобы получить конечные точки цветового градиента, используемого для затенения объекта на основе косинуса угла между вектором от фрагмента к источнику света и нормалью фрагмента. Дополнительно может быть добавлен зеркальный блик. Относительные вклады холодного и теплого цветов в цвет по умолчанию контролируются свойствами alpha и beta соответственно.

Этот материал использует эффект с однопроходным рендерингом и выполняет освещение по фрагменту. Представлены методы для OpenGL 2, OpenGL 3 или выше, а также OpenGL ES 2.

Документация свойств

alpha : float

Содержит текущее значение alpha. Точка начала цветовой шкалы, используемой шейдером Gooch, вычисляется как {c = cool + alpha * diffuse}.

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

float alpha() const
void setAlpha(float alpha)

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

void alphaChanged(float alpha)

beta : float

Содержит текущее значение beta. Точка начала цветовой шкалы, используемой шейдером Gooch, вычисляется как {c = warm + beta * diffuse}.

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

float beta() const
void setBeta(float beta)

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

void betaChanged(float beta)

cool : QColor

Содержит текущий холодный цвет.

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

QColor cool() const
void setCool(const QColor &cool)

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

void coolChanged(const QColor &cool)

diffuse : QColor

Содержит текущий рассеянный цвет.

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

QColor diffuse() const
void setDiffuse(const QColor &diffuse)

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

void diffuseChanged(const QColor &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)

warm : QColor

Содержит текущий теплый цвет.

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

QColor warm() const
void setWarm(const QColor &warm)

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

void warmChanged(const QColor &warm)

Документация функций-членов

QGoochMaterial::QGoochMaterial(Qt3DCore::QNode *parent = nullptr)

Создаёт новый экземпляр QGoochMaterial с родительским объектом parent.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qt3dextras-qgoochmaterial.html

Spec-Zone.ru

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