QPointLight Class
class Qt3DRender::QPointLightEncapsulate a Point Light object in a Qt 3D scene. More...
Header: | #include <QPointLight> |
qmake: | QT += 3drender |
Since: | Qt 5.5 |
Instantiated By: | PointLight |
Inherits: | Qt3DRender::QAbstractLight |
This class was introduced in Qt 5.5.
Properties
- constantAttenuation : float
- linearAttenuation : float
- quadraticAttenuation : float
Public Functions
QPointLight(Qt3DCore::QNode *parent = nullptr) | |
float | constantAttenuation() const |
float | linearAttenuation() const |
float | quadraticAttenuation() const |
Public Slots
void | setConstantAttenuation(float value) |
void | setLinearAttenuation(float value) |
void | setQuadraticAttenuation(float value) |
Signals
void | constantAttenuationChanged(float constantAttenuation) |
void | linearAttenuationChanged(float linearAttenuation) |
void | quadraticAttenuationChanged(float quadraticAttenuation) |
Detailed Description
A point light is a light source that emits light in all directions, from a single point. Conceptually, this is similar to light given off by a standard light bulb.
A point light 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 point 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) |
linearAttenuation : float
Specifies the linear attenuation of the point 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) |
quadraticAttenuation : float
Specifies the quadratic attenuation of the point 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
QPointLight::QPointLight(Qt3DCore::QNode *parent = nullptr)
Constructs a new QPointLight with the specified parent.