Spec-Zone.ru › Qt 6.1

Класс QDiffuseSpecularMapMaterial

класс Qt3DExtras::QDiffuseSpecularMapMaterial

Класс QDiffuseSpecularMapMaterial предоставляет стандартную реализацию эффекта освещения Фонга, где компоненты рассеянного и зеркального света считываются из текстурных карт. Подробнее...

Заголовок: #include <QDiffuseSpecularMapMaterial>
CMake: find_package(Qt6 COMPONENTS 3dextras REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3dextras)
qmake: QT += 3dextras
С момента: Qt 5.7
Наследует: Qt3DRender::QMaterial

Этот класс устарел. Он предоставляется для совместимости со старым кодом. Мы настоятельно рекомендуем не использовать его в новом коде.

  • Список всех членов, включая унаследованные

Свойства

  • ambient : QColor
  • diffuse : Qt3DRender::QAbstractTexture*
  • shininess : float
  • specular : Qt3DRender::QAbstractTexture*
  • textureScale : float

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

QDiffuseSpecularMapMaterial(Qt3DCore::QNode *parent = nullptr)
virtual ~QDiffuseSpecularMapMaterial()
QColor ambient() const
Qt3DRender::QAbstractTexture * diffuse() const
float shininess() const
Qt3DRender::QAbstractTexture * specular() const
float textureScale() const

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

void setAmbient(const QColor &ambient)
void setDiffuse(Qt3DRender::QAbstractTexture *diffuse)
void setShininess(float shininess)
void setSpecular(Qt3DRender::QAbstractTexture *specular)
void setTextureScale(float textureScale)

Сигналы

void ambientChanged(const QColor &ambient)
void diffuseChanged(Qt3DRender::QAbstractTexture *diffuse)
void shininessChanged(float shininess)
void specularChanged(Qt3DRender::QAbstractTexture *specular)
void textureScaleChanged(float textureScale)

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

Этот класс устарел; используйте Qt3DExtras::QDiffuseSpecularMaterial вместо него.

Эффект зеркального освещения основан на комбинации 3 компонентов освещения: окружающего, рассеянного и зеркального. Относительные интенсивности этих компонентов контролируются коэффициентами отражения, которые моделируются как RGB-тройки:

  • Окружающий - цвет, испускаемый объектом без какого-либо другого источника света.
  • Рассеянный - цвет, испускаемый при отражении света от шероховатой поверхности.
  • Зеркальный - цвет, испускаемый при отражении света от глянцевой поверхности.
  • Глянцовость поверхности контролируется свойством float.

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

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

ambient : QColor

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

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

QColor ambient() const
void setAmbient(const QColor &ambient)

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

void ambientChanged(const QColor &ambient)

diffuse : Qt3DRender::QAbstractTexture*

Содержит текущую текстуру диффузного отображения.

По умолчанию текстура диффузии имеет следующие свойства:

  • Линейные фильтры уменьшения и увеличения
  • Линейное mip-отображение с включенным mip-mapping
  • Режим обёртки Repeat
  • Максимальная анизотропия 16.0

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

Qt3DRender::QAbstractTexture * diffuse() const
void setDiffuse(Qt3DRender::QAbstractTexture *diffuse)

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

void diffuseChanged(Qt3DRender::QAbstractTexture *diffuse)

shininess : float

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

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

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

float shininess() const
void setShininess(float shininess)

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

void shininessChanged(float shininess)

specular : Qt3DRender::QAbstractTexture*

Содержит текущую текстуру отражения.

По умолчанию текстура отражения имеет следующие свойства:

  • Линейные фильтры уменьшения и увеличения
  • Линейное mip-отображение с включенным mip-mapping
  • Режим обёртки Repeat
  • Максимальная анизотропия 16.0

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

Qt3DRender::QAbstractTexture * specular() const
void setSpecular(Qt3DRender::QAbstractTexture *specular)

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

void specularChanged(Qt3DRender::QAbstractTexture *specular)

textureScale : float

Содержит текущий масштаб текстуры. Он применяется как множитель к координатам текстуры во время рендеринга. По умолчанию равен 1.0.

При использовании совместно с QTextureWrapMode::Repeat, textureScale предоставляет простой способ создания узора текстуры на поверхности. Например, масштаб текстуры 4.0 приведет к 16 (4x4) плиткам.

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

float textureScale() const
void setTextureScale(float textureScale)

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

void textureScaleChanged(float textureScale)

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

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

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

[virtual] QDiffuseSpecularMapMaterial::~QDiffuseSpecularMapMaterial()

Удаляет экземпляр QDiffuseSpecularMapMaterial.

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

Spec-Zone.ru

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