QSpotLight Class
class Qt3DRender::QSpotLightEncapsulate a Spot Light object in a Qt 3D scene. More...
Header: | #include <QSpotLight> |
CMake: | find_package(Qt6 COMPONENTS 3drender REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
Since: | Qt 5.5 |
Instantiated By: | SpotLight |
Inherits: | Qt3DRender::QAbstractLight |
Properties
|
|
Public Functions
QSpotLight(Qt3DCore::QNode *parent = nullptr) | |
float | constantAttenuation() const |
float | cutOffAngle() const |
float | linearAttenuation() const |
QVector3D | localDirection() const |
float | quadraticAttenuation() const |
Public Slots
void | setConstantAttenuation(float value) |
void | setCutOffAngle(float cutOffAngle) |
void | setLinearAttenuation(float value) |
void | setLocalDirection(const QVector3D &localDirection) |
void | setQuadraticAttenuation(float value) |
Signals
void | constantAttenuationChanged(float constantAttenuation) |
void | cutOffAngleChanged(float cutOffAngle) |
void | linearAttenuationChanged(float linearAttenuation) |
void | localDirectionChanged(const QVector3D &localDirection) |
void | quadraticAttenuationChanged(float quadraticAttenuation) |
Detailed Description
A spotlight is a light source that emits a cone of light in a particular direction.
A spotlight uses three attenuation factors to describe how the intensity of the light decreases over distance. These factors are designed to be used together in calcuating total attenuation. For the materials in Qt3D Extras the following formula is used, where distance is the distance from the light to the surface being rendered:
totalAttenuation = 1.0 / (constantAttenuation + (linearAttenuation * distance) + (quadraticAttenuation * distance * distance));
Custom materials may choose to interpret these factors differently.
Property Documentation
constantAttenuation : float
Specifies the constant attenuation of the spot light.
Note: The exact meaning and use of this property is up to the material implementation.
Access functions:
float | constantAttenuation() const |
void | setConstantAttenuation(float value) |
Notifier signal:
void | constantAttenuationChanged(float constantAttenuation) |
cutOffAngle : float
Specifies the cut off angle of the spot light.
Note: The exact meaning and use of this property is up to the material implementation.
Access functions:
float | cutOffAngle() const |
void | setCutOffAngle(float cutOffAngle) |
Notifier signal:
void | cutOffAngleChanged(float cutOffAngle) |
linearAttenuation : float
Specifies the linear attenuation of the spot light.
Note: The exact meaning and use of this property is up to the material implementation.
Access functions:
float | linearAttenuation() const |
void | setLinearAttenuation(float value) |
Notifier signal:
void | linearAttenuationChanged(float linearAttenuation) |
localDirection : QVector3D
Specifies the local direction of the spot light.
Note: The exact meaning and use of this property is up to the material implementation.
Access functions:
QVector3D | localDirection() const |
void | setLocalDirection(const QVector3D &localDirection) |
Notifier signal:
void | localDirectionChanged(const QVector3D &localDirection) |
quadraticAttenuation : float
Specifies the quadratic attenuation of the spot light.
Note: The exact meaning and use of this property is up to the material implementation.
Access functions:
float | quadraticAttenuation() const |
void | setQuadraticAttenuation(float value) |
Notifier signal:
void | quadraticAttenuationChanged(float quadraticAttenuation) |
Member Function Documentation
QSpotLight::QSpotLight(Qt3DCore::QNode *parent = nullptr)
Constructs a new QSpotLight with the specified parent.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt3drender-qspotlight.html