Тип QML UniformAnimator
Тип UniformAnimator анимирует униформ ShaderEffect. Подробнее...
| Заявление об импорте: | import QtQuick 2.7 |
| С момента: | Qt 5.2 |
| Наследует: |
Свойства
- uniform : строка
Подробное описание
Animator типы отличаются от обычных типов анимации. При использовании Animator, анимация может выполняться в потоке отрисовки, а значение свойства переходит к конечному значению после завершения анимации.
Значение свойства QML, определяющего униформ, обновляется после завершения анимации.
Следующий фрагмент показывает, как использовать UniformAnimator вместе с элементом 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:
"
uniform lowp float t;
varying highp vec2 qt_TexCoord0;
void main() {
lowp float c = qt_TexCoord0.y;
gl_FragColor = vec4(0, 0, c * t, 1);
}
"
} Также можно использовать ключевое слово on для прямого связывания UniformAnimator с униформом экземпляра ShaderEffect.
ShaderEffect {
width: 50
height: 50
property variant t;
UniformAnimator on t {
from: 0
to: 1
duration: 1000
}
fragmentShader:
"
uniform lowp float t;
varying highp vec2 qt_TexCoord0;
void main() {
lowp float c = qt_TexCoord0.y;
gl_FragColor = vec4(c * t, 0, 0, 1);
}
"
} См. также ShaderEffect и ShaderEffectSource.
Документация по свойствам
uniform : строка
Это свойство содержит имя униформа, который нужно анимировать.
Значение униформа должно соответствовать свойству целевого ShaderEffect и должно быть униформом типа float во фрагментном или вершинном шейдере.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtquick-uniformanimator.html