Sur cette page

Qt3DRender::QSpotLight Class

class Qt3DRender::QSpotLight

Encapsule un objet Spot Light dans une scène Qt 3D. Plus...

En-tête : #include <QSpotLight>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : SpotLight
Hérite : Qt3DRender::QAbstractLight
Statut : Déclassé

Propriétés

Fonctions publiques

QSpotLight(Qt3DCore::QNode *parent = nullptr)
float constantAttenuation() const
float cutOffAngle() const
float linearAttenuation() const
QVector3D localDirection() const
float quadraticAttenuation() const

Emplacements publics

void setConstantAttenuation(float value)
void setCutOffAngle(float cutOffAngle)
void setLinearAttenuation(float value)
void setLocalDirection(const QVector3D &localDirection)
void setQuadraticAttenuation(float value)

Signaux

void constantAttenuationChanged(float constantAttenuation)
void cutOffAngleChanged(float cutOffAngle)
void linearAttenuationChanged(float linearAttenuation)
void localDirectionChanged(const QVector3D &localDirection)
void quadraticAttenuationChanged(float quadraticAttenuation)

Description détaillée

Un projecteur est une source lumineuse qui émet un cône de lumière dans une direction particulière.

Un projecteur utilise trois facteurs d'atténuation pour décrire comment l'intensité de la lumière diminue en fonction de la distance. Ces facteurs sont conçus pour être utilisés ensemble dans le calcul de l'atténuation totale. Pour les matériaux de Qt3D Extras, la formule suivante est utilisée, où la distance est la distance entre la lumière et la surface rendue :

totalAttenuation = 1.0 / (constantAttenuation + (linearAttenuation * distance) + (quadraticAttenuation * distance * distance));

Les matériaux personnalisés peuvent choisir d'interpréter ces facteurs différemment.

Documentation sur les propriétés

constantAttenuation : float

Spécifie l'atténuation constante de l'éclairage ponctuel.

Remarque : la signification et l'utilisation exactes de cette propriété dépendent de la mise en œuvre matérielle.

Fonctions d'accès :

float constantAttenuation() const
void setConstantAttenuation(float value)

Signal de notification :

void constantAttenuationChanged(float constantAttenuation)

cutOffAngle : float

Spécifie l'angle de coupure de l'éclairage ponctuel.

Remarque : la signification et l'utilisation exactes de cette propriété dépendent de l'implémentation matérielle.

Fonctions d'accès :

float cutOffAngle() const
void setCutOffAngle(float cutOffAngle)

Signal de notification :

void cutOffAngleChanged(float cutOffAngle)

linearAttenuation : float

Spécifie l'atténuation linéaire du spot lumineux.

Remarque : la signification et l'utilisation exactes de cette propriété dépendent de la mise en œuvre matérielle.

Fonctions d'accès :

float linearAttenuation() const
void setLinearAttenuation(float value)

Signal du notificateur :

void linearAttenuationChanged(float linearAttenuation)

localDirection : QVector3D

Spécifie la direction locale du spot lumineux.

Remarque : la signification et l'utilisation exactes de cette propriété dépendent de l'implémentation matérielle.

Fonctions d'accès :

QVector3D localDirection() const
void setLocalDirection(const QVector3D &localDirection)

Signal de notification :

void localDirectionChanged(const QVector3D &localDirection)

quadraticAttenuation : float

Spécifie l'atténuation quadratique de l'éclairage ponctuel.

Remarque : la signification et l'utilisation exactes de cette propriété dépendent de l'implémentation matérielle.

Fonctions d'accès :

float quadraticAttenuation() const
void setQuadraticAttenuation(float value)

Notifier signal :

void quadraticAttenuationChanged(float quadraticAttenuation)

Member Function Documentation

[explicit] QSpotLight::QSpotLight(Qt3DCore::QNode *parent = nullptr)

Construit un nouveau QSpotLight avec la valeur spécifiée parent.

© 2026 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.