PointLight QML Type
Définit une lumière ponctuelle dans la scène. Plus d'informations...
| Import Statement: | import QtQuick3D |
| Inherits: |
Propriétés
- constantFade : real
- linearFade : real
- quadraticFade : real
Description détaillée
La lumière ponctuelle peut être décrite comme une sphère, émettant de la lumière avec une force égale dans toutes les directions à partir du centre de la lumière. Cela ressemble à la façon dont une ampoule émet de la lumière.
La rotation ou la mise à l'échelle d'une lumière ponctuelle n'a aucun effet. Le déplacement d'une lumière 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 inverse des carrés. Toutefois, l'atténuation (et la portée) peut être contrôlée à 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 manières différentes
Prenons une scène contenant une sphère devant un rectangle à l'échelle en arrière-plan. La couleur de base par défaut de PrincipledMaterial du rectangle est le blanc.
Sans aucune lumière et en désactivant l'ombrage lié à la lumière pour les deux maillages, nous obtenons ce qui suit :
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 le long 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 } } }

Que se passe-t-il si nous remplaçons DirectionalLight par :
PointLight { z: 300 }
La PointLight de couleur blanche est ici déplacée sur 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, voir Qt Quick 3D - Lights Example.
Voir également DirectionalLight, SpotLight, et Shadow Mapping.
Documentation sur les propriétés
constantFade : real
Cette propriété est 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 diminue la lumière proportionnellement à la distance qui la sépare. La valeur par défaut est 0.0, ce qui signifie que la lumière n'a pas d'atténuation 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 diminue l'intensité de la lumière proportionnellement à la loi de l'inverse des carrés. La valeur par défaut est de 1,0, ce qui signifie que l'atténuation de la lumière ponctuelle suit exactement la loi de l'inverse du carré, c'est-à-dire que lorsque la distance par rapport à un objet double, l'intensité lumineuse diminue d'un quart. 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.