Spec-Zone.ru › Qt 6.1

Класс 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, при отрисовке. По умолчанию 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.1/qt3dextras-qdiffusespecularmaterial.html

Spec-Zone.ru

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