Sur cette page

UniformAnimator QML Type

Le type `UniformAnimator` permet d'animer un uniforme d'un objet de type ` ShaderEffect`. En savoir plus...

Import Statement: import QtQuick
Inherits:

Animator

Propriétés

Description détaillée

Animator Ces types diffèrent des types d'animation normaux. Lorsque vous utilisez un Animator, l'animation peut être exécutée dans le thread de rendu et la valeur de la propriété passe directement à la fin une fois l'animation terminée.

La valeur de la propriété QML définissant l’uniforme est mise à jour une fois l’animation terminée.

L'extrait de code suivant montre comment utiliser un « UniformAnimator » avec un élément « ShaderEffect ».

ShaderEffect {
    id: shader
    width: 50
    height: 50
    property variant t;
    UniformAnimator {
        target: shader
        uniform: "t"
        from: 0
        to: 1
        duration: 1000
        running: true
    }
    fragmentShader: "qrc:shader.frag.qsb"
}

Il est également possible d’utiliser le mot-clé « on » pour lier directement l’UniformAnimator à un uniforme d’une instance d’ ShaderEffect.

ShaderEffect {
    width: 50
    height: 50
    property variant t;
    UniformAnimator on t {
        from: 0
        to: 1
        duration: 1000
    }
    fragmentShader: "qrc:shader.frag.qsb"
}

Remarque : les typesd’Animator ne présentent aucun avantage lorsqu’une boucle de rendu non multithread est utilisée.

Remarque : il est recommandé aux applications d’opter pour des architectures basées sur des principes multithread et asynchrones, plutôt que de s’appuyer sur des animateurs pour afficher du contenu animé tout en effectuant des tâches coûteuses et bloquantes sur le thread principal (GUI). Au lieu d’opérations longues et bloquantes, privilégiez l’utilisation de WorkerScript et asynchronous image loading en QML, ainsi que des threads de travail, des algorithmes parallèles Qt Concurrentet les coroutines en C++, afin de garantir à tout moment la réactivité de l’application et de l’interface utilisateur.

Voir également ShaderEffect et ShaderEffectSource.

Documentation sur les propriétés

uniform : string

Cette propriété contient le nom de l'uniforme à animer.

La valeur de l'uniform doit correspondre à la fois à une propriété de l'ShaderEffect e cible et à un uniform de type float dans le shader de fragment ou de sommet.

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