Native UI Book · 06 Shaders & Motion
WGSL 着色器与弹簧动画
在 UI 节点中直接嵌入自定义硬件着色器管线与基于物理胡克定律的弹簧动画过渡。
物理弹簧过渡动画
GPUX 的动画系统不依赖固定帧率定时器,而是根据当前显示器刷新率(跟随显示器 VSync)实时积分弹簧位移:
rust
use std::time::Duration;
use gpux::prelude::*;
div()
.bg(rgb(0xff6b35))
.rounded_xl()
.with_animation(
"pulse-card",
Animation::new(Duration::from_millis(280)),
|el, delta| el.opacity(0.4 + delta * 0.6),
)