Spec-Zone.ru › Qt

Класс QGoochMaterial

класс Qt3DExtras::QGoochMaterial

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

Заголовок: #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-поверхностей. Это часто лучше, чем модели, такие как Фонг, которые полагаются только на изменения яркости. В ситуациях, таких как приложения CAD и CAM, где фотореализм не является целью, модель затенения Гуча в сочетании с каким-либо видом инкирования контуров силуэта — популярное решение.

Модель освещения Гуча подробно описана в оригинальной статье Гуча. Модель Гуча смешивает цвет диффузного объекта с предоставленным пользователем холодным и теплым цветами, чтобы получить конечные точки цветовой шкалы, используемой для затенения объекта на основе косинуса угла между вектором от фрагмента к источнику света и нормалью фрагмента. При необходимости можно добавить зеркальный блик поверх. Относительные вклады холодных и теплых цветов в диффузный цвет контролируются свойствами 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.2/qt3dextras-qgoochmaterial.html

Spec-Zone.ru

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