Тип QML UniformAnimator
Тип UniformAnimator анимирует униформу ShaderEffect. Подробнее...
| Заявление об импорте: | import QtQuick 2.11 |
| С тех пор: | 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/archives/qt-5.11/qml-qtquick-uniformanimator.html