Sur cette page

DirectionalLight QML Type

Définit une lumière directionnelle dans la scène. En savoir plus…

Import Statement: import QtQuick3D
Inherits:

Light

Propriétés

Description détaillée

La lumière directionnelle émet de la lumière dans une seule direction à partir d'une source non identifiable située à une distance infinie. Ce phénomène est similaire au fonctionnement de la lumière du soleil dans la réalité. Une lumière directionnelle a une portée infinie et ne s'affaiblit pas.

Si l'option « castsShadow » est activée, les ombres seront parallèles à la direction de la lumière.

Une lumière directionnelle n'a en réalité aucune position ; la déplacer n'a donc aucun effet. La lumière sera toujours émise dans la direction de l'axe Z de la lumière.

La rotation de la lumière autour 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 d'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 quelconque est définie sur 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 (DirectionalLight) utilise la couleur par défaut « white » et émet dans la direction de l’axe Z du nœud DirectionalLight.

Cercle vert indiquant la direction de la lumière émise le long de l'axe Z

Une rotation de 60 degrés autour de l’axe X donnerait le résultat suivant. Au lieu d’être émise directement dans la direction de l’axe Z, la lumière est désormais orientée de 60 degrés « vers le bas » :

DirectionalLight {
    eulerRotation.x: 60
}

Cercle vert ombré représentant une lumière directionnelle pivotée

Pour d'autres exemples d'utilisation, consultez l'exemple «Qt Quick 3D - Lights ».

Voir également PointLight, SpotLight et Shadow Mapping.

Documentation sur les propriétés

csmBlendRatio : real [since 6.8]

Cette propriété définit dans quelle mesure l'ombre de chaque cascade doit être fusionnée avec celle qui la précède.

Plage : [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 segments en lesquels le cône de projection doit être divisé lors du rendu de la carte d'ombres. Si aucun segment n'est spécifié, la carte d'ombres sera rendue de manière à couvrir le parallélépipède englobant tous les objets projetant et recevant des ombres.

Plage : [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'emplacement où se produira la première cascade de division de la carte d'ombres lorsque le CSM est actif.

Plage : [0.0, 1.0]

Valeur par défaut : 0.1

Remarque : cette propriété n'est utilisée que lorsque la valeur de « DirectionalLight::csmNumSplits » est supérieure à celle de « 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'emplacement où se produira la deuxième cascade de division de la carte d'ombres lorsque le CSM est activé.

Plage : [0.0, 1.0]

Valeur par défaut : 0.25

Remarque : cette propriété n’est utilisée que lorsque la valeur de « DirectionalLight::csmNumSplits » est supérieure à celle de « 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 où se produira la troisième cascade de division de la carte d'ombres lorsque le CSM est activé.

Plage : [0.0, 1.0]

Valeur par défaut : 0.5

Remarque : cette propriété n'est utilisée que lorsque la valeur de « DirectionalLight::csmNumSplits » est supérieure à celle de « 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 » dans l'espace, ce qui élimine le scintillement des bords d'ombre au prix d'une taille plus importante des texels de la carte d'ombres. Ce système fonctionne en utilisant des cartes d'ombres de taille uniforme et alignées au niveau des 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.