Encapsulate a Spot Light object in a Qt 3D scene. 更多...
头: | #include <QSpotLight> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
实例化: | 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 ) |
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.
Specifies the constant attenuation of the spot light.
注意: The exact meaning and use of this property is up to the material implementation.
访问函数:
float | constantAttenuation () const |
void | setConstantAttenuation (float value ) |
通知程序信号:
void | constantAttenuationChanged (float constantAttenuation ) |
Specifies the cut off angle of the spot light.
注意: The exact meaning and use of this property is up to the material implementation.
访问函数:
float | cutOffAngle () const |
void | setCutOffAngle (float cutOffAngle ) |
通知程序信号:
void | cutOffAngleChanged (float cutOffAngle ) |
Specifies the linear attenuation of the spot light.
注意: The exact meaning and use of this property is up to the material implementation.
访问函数:
float | linearAttenuation () const |
void | setLinearAttenuation (float value ) |
通知程序信号:
void | linearAttenuationChanged (float linearAttenuation ) |
Specifies the local direction of the spot light.
注意: The exact meaning and use of this property is up to the material implementation.
访问函数:
QVector3D | localDirection () const |
void | setLocalDirection (const QVector3D & localDirection ) |
通知程序信号:
void | localDirectionChanged (const QVector3D & localDirection ) |
Specifies the quadratic attenuation of the spot light.
注意: The exact meaning and use of this property is up to the material implementation.
访问函数:
float | quadraticAttenuation () const |
void | setQuadraticAttenuation (float value ) |
通知程序信号:
void | quadraticAttenuationChanged (float quadraticAttenuation ) |
[explicit]
QSpotLight::
QSpotLight
(
Qt3DCore::QNode
*
parent
= nullptr)
Constructs a new QSpotLight with the specified parent .