Sur cette page

Qt3DRender::QSpotLight Class

class Qt3DRender::QSpotLight

Intégrer un objet « Spot Light » dans une scène « Qt 3D ». En savoir plus...

En-tête : #include <qspotlight.h>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : SpotLight
Hérite de : Qt3DRender::QAbstractLight
Statut : Obsolète

Cette classe est obsolète. Nous déconseillons fortement de l'utiliser dans du nouveau code.

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 la façon dont l'intensité de la lumière diminue en fonction de la distance. Ces facteurs sont conçus pour être utilisés conjointement dans le calcul de l'atténuation totale. Pour les matériaux de Qt3D Extras, la formule suivante est utilisée, où « distance » correspond à la distance entre la source lumineuse 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 des propriétés

constantAttenuation : float

Spécifie l'atténuation constante du faisceau lumineux.

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

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 du faisceau lumineux.

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

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 faisceau lumineux.

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

Fonctions d'accès :

float linearAttenuation() const
void setLinearAttenuation(float value)

Signal de notification :

void linearAttenuationChanged(float linearAttenuation)

localDirection : QVector3D

Spécifie la direction locale du projecteur.

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

Fonctions d'accès :

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

Signal de notification :

void localDirectionChanged(const QVector3D &localDirection)

quadraticAttenuation : float

Définit l'atténuation quadratique du faisceau lumineux.

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

Fonctions d'accès :

float quadraticAttenuation() const
void setQuadraticAttenuation(float value)

Signal de notification :

void quadraticAttenuationChanged(float quadraticAttenuation)

Documentation des fonctions membres

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

Crée un nouvel objet QSpotLight avec l'parent spécifiée.

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