Skia and SKSL motion surfaces

Composition & Shader Animation

Own the render loop when packaged animation assets are not enough.

Explore source
Parent systemLottie
StatusMaintained
Modules2
RepositoryLottie/CompositionAnimatedControl

CompositionAnimatedControl supplies stretch-aware Skia rendering, elapsed normalization, repeat counts, per-frame updates, and static redraw; ShaderAnimatedControl adds URI-loaded SKSL runtime effects and uniform binding.

  1. 01

    Composition scheduler integration

  2. 02

    Animated and static redraw modes

  3. 03

    Stretch and repeat control

  4. 04

    SKSL assets and custom uniforms

From intent
to working system.

01

Measure

Logical source size and stretch define destination geometry.

02

Normalize

Elapsed time maps to loops and repeat policy.

03

Update

Frame state or shader uniforms evolve with delta time.

04

Render

Skia or SKSL draws directly into the composition-backed surface.

Adopt this
capability.

Start with the primary module, then add the related packages only when the application needs those layers. Replace VERSION with the current NuGet version.

01 · Install
Terminal
dotnet add package CompositionAnimatedControl
dotnet add package ShaderAnimatedControl
02 · Use · xml
MainWindow.axaml
<ShaderAnimatedControl
ShaderUri="/Assets/Gradient.sksl"
ShaderWidth="512"
ShaderHeight="512"
IsShaderFillCanvas="True" />

Use one layer.
Compose the rest.

Read the module beside the complete system.

The implementation, samples, issues, and release notes stay in the parent repository so module details remain connected to the product architecture.

Lottie

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…