Sur cette page

DirectionalLight QML Type

Définit une lumière directionnelle dans la scène. Plus d'informations...

Import Statement: import QtQuick3D
Inherits:

Light

Propriétés

Description détaillée

La lumière directionnelle émet de la lumière dans une direction à partir d'une source non identifiable située à une distance infinie. Ce fonctionnement est similaire à celui de la lumière du soleil dans la vie réelle. Une lumière directionnelle a une portée infinie et ne diminue pas.

Si castsShadow est activé, les ombres seront parallèles à la direction de la lumière.

Une lumière directionnelle n'a pas de position, donc la déplacer n'a pas d'effet. La lumière sera toujours émise dans la direction de l'axe Z de la lumière.

La rotation de la lumière le long de son axe X ou Y modifiera la direction d'émission de la lumière.

La mise à l'échelle d'une lumière directionnelle n'aura un effet que dans les cas suivants :

  • Si l'échelle Z est définie sur un nombre négatif, la lumière sera émise dans la direction opposée.
  • Si l'échelle d'un axe est fixée à 0, la lumière sera émise le long de l'axe Z du monde.

    Remarque : la rotation de la lumière n'aura alors aucun effet.

Prenons un exemple simple :

import QtQuick
import QtQuick3D
View3D {
    anchors.fill: parent

    PerspectiveCamera { z: 600 }

    DirectionalLight {
    }

    Model {
        source: "#Sphere"
        scale: Qt.vector3d(4, 4, 4)
        materials: PrincipledMaterial {
            baseColor: "#40c060"
            roughness: 0.1 // make specular highlight visible
        }
    }
}

Ici, la lumière directionnelle utilise la couleur par défaut white et émet dans la direction de l'axe Z du nœud DirectionalLight.

Cercle vert indiquant une lumière directionnelle émise le long de l'axe Z

Une rotation de 60 degrés autour de l'axe X aboutirait à la situation suivante. Au lieu d'émettre directement dans la direction de l'axe Z, la lumière est maintenant orientée à 60 degrés vers le "bas" :

DirectionalLight {
    eulerRotation.x: 60
}

Cercle vert avec ombrage indiquant un feu directionnel tourné

Pour d'autres exemples d'utilisation, voir Qt Quick 3D - Lights Example.

Voir également PointLight, SpotLight, et Shadow Mapping.

Documentation sur les propriétés

csmBlendRatio : real [since 6.8]

Cette propriété définit la part de l'ombre d'une cascade qui doit être mélangée à celle de la cascade précédente.

Plage de valeurs : [0.0, 1.0]

Valeur par défaut : 0.05

Cette propriété a été introduite dans Qt 6.8.

csmNumSplits : int [since 6.8]

Cette propriété définit le nombre de divisions du frustum lors du rendu de la carte d'ombres. L'absence de fractionnement signifie que la carte d'ombres sera rendue de manière à couvrir le cadre de délimitation de tous les objets projetant et recevant des ombres.

Plage de valeurs : [0, 3]

Valeur par défaut : 0

Cette propriété a été introduite dans Qt 6.8.

Voir également csmSplit1, csmSplit2, et csmSplit3.

csmSplit1 : real [since 6.8]

Cette propriété définit l'endroit où la première cascade du découpage de la carte d'ombres se produira lorsque la MSC est active.

Plage de valeurs : [0.0, 1.0]

Valeur par défaut : 0.1

Remarque : cette propriété n'est utilisée que lorsque DirectionalLight::csmNumSplits est supérieur à 0.

Cette propriété a été introduite dans Qt 6.8.

Voir également csmSplit2 et csmSplit3.

csmSplit2 : real [since 6.8]

Cette propriété définit l'endroit où la deuxième cascade du découpage de la carte d'ombres se produira lorsque la MSC est active.

Plage de valeurs : [0.0, 1.0]

Valeur par défaut : 0.25

Remarque : cette propriété n'est utilisée que lorsque DirectionalLight::csmNumSplits est supérieur à 1.

Cette propriété a été introduite dans Qt 6.8.

Voir également csmSplit1 et csmSplit3.

csmSplit3 : real [since 6.8]

Cette propriété définit l'emplacement de la troisième cascade du découpage de la carte des ombres lorsque la MSC est active.

Plage de valeurs : [0.0, 1.0]

Valeur par défaut : 0.5

Remarque : cette propriété n'est utilisée que lorsque DirectionalLight::csmNumSplits est supérieur à 2.

Cette propriété a été introduite dans Qt 6.8.

Voir également csmSplit1 et csmSplit2.

lockShadowmapTexels : bool [since 6.9]

Lorsque cette propriété est activée, les texels de la carte d'ombres sont "verrouillés" en position dans le monde, ce qui élimine le miroitement des bords de l'ombre au prix de texels de carte d'ombres plus grands. Cela fonctionne en utilisant des shadowmaps de taille uniforme et alignées sur les texels pour chaque cascade.

Valeur par défaut : false

Cette propriété a été introduite dans Qt 6.9.

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