Класс QSpotLight
class Qt3DRender::QSpotLightОборачивает объект точечного света в сцене Qt 3D. Подробнее...
| Заголовок: | #include <QSpotLight> |
| CMake: | find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| С момента: | Qt 5.5 |
| Создается: | SpotLight |
| Наследует: | Qt3DRender::QAbstractLight |
Свойства
|
|
Открытые функции
| QSpotLight(Qt3DCore::QNode *parent = nullptr) | |
| float | constantAttenuation() const |
| float | cutOffAngle() const |
| float | linearAttenuation() const |
| QVector3D | localDirection() const |
| float | quadraticAttenuation() const |
Открытые слоты
| void | setConstantAttenuation(float value) |
| void | setCutOffAngle(float cutOffAngle) |
| void | setLinearAttenuation(float value) |
| void | setLocalDirection(const QVector3D &localDirection) |
| void | setQuadraticAttenuation(float value) |
Сигналы
| void | constantAttenuationChanged(float constantAttenuation) |
| void | cutOffAngleChanged(float cutOffAngle) |
| void | linearAttenuationChanged(float linearAttenuation) |
| void | localDirectionChanged(const QVector3D &localDirection) |
| void | quadraticAttenuationChanged(float quadraticAttenuation) |
Подробное описание
Точечный свет — это источник света, испускающий конус света в определённом направлении.
Точечный свет использует три коэффициента затухания, чтобы описать, как интенсивность света уменьшается с расстоянием. Эти коэффициенты предназначены для совместного использования при вычислении общего затухания. Для материалов в Qt3D Extras используется следующая формула, где расстояние — это расстояние от света до поверхности, которая рендерится:
totalAttenuation = 1.0 / (constantAttenuation + (linearAttenuation * distance) + (quadraticAttenuation * distance * distance));
Пользовательские материалы могут выбрать иное толкование этих факторов.
Документация по свойствам
constantAttenuation : float
Определяет постоянное затухание точечного света.
Примечание: Точное значение и использование этого свойства зависят от реализации материала.
Функции доступа:
| float | constantAttenuation() const |
| void | setConstantAttenuation(float value) |
Сигнал уведомления:
| void | constantAttenuationChanged(float constantAttenuation) |
cutOffAngle : float
Определяет угол отсечения точечного света.
Примечание: Точное значение и использование этого свойства зависят от реализации материала.
Функции доступа:
| float | cutOffAngle() const |
| void | setCutOffAngle(float cutOffAngle) |
Сигнал уведомления:
| void | cutOffAngleChanged(float cutOffAngle) |
linearAttenuation : float
Определяет линейное затухание точечного света.
Примечание: Точное значение и использование этого свойства зависят от реализации материала.
Функции доступа:
| float | linearAttenuation() const |
| void | setLinearAttenuation(float value) |
Сигнал уведомления:
| void | linearAttenuationChanged(float linearAttenuation) |
localDirection : QVector3D
Определяет локальное направление точечного света.
Примечание: Точное значение и использование этого свойства зависят от реализации материала.
Функции доступа:
| QVector3D | localDirection() const |
| void | setLocalDirection(const QVector3D &localDirection) |
Сигнал уведомления:
| void | localDirectionChanged(const QVector3D &localDirection) |
quadraticAttenuation : float
Определяет квадратичное затухание точечного света.
Примечание: Точное значение и использование этого свойства зависят от реализации материала.
Функции доступа:
| float | quadraticAttenuation() const |
| void | setQuadraticAttenuation(float value) |
Сигнал уведомления:
| void | quadraticAttenuationChanged(float quadraticAttenuation) |
Документация по функциям-членам
QSpotLight::QSpotLight(Qt3DCore::QNode *parent = nullptr)
Конструирует новый QSpotLight с указанным parent.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qt3drender-qspotlight.html