QPointLight Class

(Qt3DRender::QPointLight)

Encapsulate 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

Properties

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)

Static Public Members

const QMetaObject staticMetaObject
  • 9 static public members inherited from QObject

Additional Inherited Members

Detailed Description

Encapsulate a Point Light object in a Qt 3D scene.

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

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

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

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.

© 2021 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.