PointLight QML Type
Définit une source lumineuse ponctuelle dans la scène. En savoir plus...
| Import Statement: | import QtQuick3D |
| Inherits: |
Propriétés
- constantFade : real
- linearFade : real
- quadraticFade : real
Description détaillée
La source lumineuse ponctuelle peut être décrite comme une sphère émettant de la lumière avec une intensité égale dans toutes les directions à partir de son centre. Ce principe est similaire à celui de l'émission de lumière par une ampoule.
La rotation ou la mise à l'échelle d'une source ponctuelle n'a aucun effet. Le déplacement d'une source ponctuelle modifie la position à partir de laquelle la lumière est émise.
Par défaut, l'intensité d'une lumière ponctuelle diminue selon la loi de l'inverse des carrés. Cependant, l'atténuation (et la portée) peuvent être contrôlées à l'aide des propriétés « constantFade », « linearFade » et « quadraticFade ». L'atténuation de la lumière est calculée à l'aide de la formule suivante : constantFade + distance * (linearFade * 0,01) + distance^2 * (quadraticFade * 0,0001)
Un exemple simple : ombrer une sphère de trois façons différentes
Prenons une scène contenant une sphère devant un rectangle agrandi en arrière-plan. La couleur de base par défaut de l'PrincipledMaterial e du rectangle est le blanc.
Sans aucune source de lumière et en désactivant l'ombrage lié à la lumière pour les deux maillages, on obtient le résultat suivant :
import QtQuick
import QtQuick3D
View3D {
anchors.fill: parent
PerspectiveCamera { z: 600 }
Model {
source: "#Rectangle"
scale: Qt.vector3d(10, 10, 10)
z: -100
materials: PrincipledMaterial {
lighting: PrincipledMaterial.NoLighting
}
}
Model {
source: "#Sphere"
scale: Qt.vector3d(2, 2, 2)
materials: PrincipledMaterial {
lighting: PrincipledMaterial.NoLighting
baseColor: "#40c060"
roughness: 0.1
}
}
}
L'ajout d'une lumière directionnelle, émettant par défaut vers le bas de l'axe Z, donne le résultat suivant :
import QtQuick
import QtQuick3D
View3D {
anchors.fill: parent
PerspectiveCamera { z: 600 }
DirectionalLight { }
Model {
source: "#Rectangle"
scale: Qt.vector3d(10, 10, 10)
z: -100
materials: PrincipledMaterial { }
}
Model {
source: "#Sphere"
scale: Qt.vector3d(2, 2, 2)
materials: PrincipledMaterial {
baseColor: "#40c060"
roughness: 0.1
}
}
}
Et si nous remplaçons maintenant l’ DirectionalLight par :
PointLight {
z: 300
}Ici, la lumière ponctuelle (PointLight) de couleur blanche est déplacée le long de l’axe Z de manière à se trouver à mi-chemin entre la caméra et le centre de la scène. Contrairement à DirectionalLight, la rotation de la lumière ponctuelle n’a pas d’importance, alors que sa position est significative. La diminution de l’intensité est visible ici, en particulier sur le maillage rectangulaire à l’arrière-plan.

Pour plus d’exemples d’utilisation, consultez Qt Quick 3D - Exemple d’éclairage.
Voir également DirectionalLight, SpotLight et Shadow Mapping.
Documentation sur les propriétés
constantFade : real
Cette propriété correspond à un facteur constant du terme d'atténuation de la lumière. La valeur par défaut est 1,0.
linearFade : real
Cette propriété augmente la vitesse à laquelle l'effet d'éclairage atténue la lumière proportionnellement à la distance par rapport à la source lumineuse. La valeur par défaut est « 0.0 », ce qui signifie que la lumière ne s'atténue pas de manière linéaire. La valeur utilisée ici est multipliée par « 0.01 » avant d'être utilisée pour calculer l'atténuation de la lumière.
quadraticFade : real
Cette propriété augmente la vitesse à laquelle l'effet d'éclairage atténue la lumière selon la loi de l'inverse des carrés. La valeur par défaut est 1,0, ce qui signifie que l'atténuation de la lumière ponctuelle suit exactement la loi de l'inverse des carrés ; c'est-à-dire que lorsque la distance à un objet double, l'intensité lumineuse diminue de 3/4. La valeur utilisée ici est multipliée par 0.0001 avant d'être utilisée pour calculer l'atténuation de la lumière.
© 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.