Kotlin Apache-2.0

liquid

Liquid RuntimeShader effects for Compose Multiplatform

F

FletchMcKee

Dernière activité 27 sept. 2026
FletchMcKee/liquid

572

étoiles

23

forks

8

issues ouvertes

compose-multiplatformgraphics-libraryshader

Ce README est souvent en anglais.

Liquid

Maven Central Build status Compose Multiplatform

Liquid unlocks a new capability for Compose Multiplatform: letting modifier nodes sample and manipulate the pixels behind them. By tagging nodes as liquefiable, you can create effects that distort the underlying content in a way that isn't normally possible with Compose's rendering pipeline.

This enables Liquid Glass-style effects like dynamic frosted glass, lenses, and other distortions. Powered by RuntimeShaders/RuntimeEffects and ModifierNodeElement APIs, it delivers GPU-accelerated visuals to your Compose UI.

Liquid demo

Quick Start

Add mavenCentral() and Liquid to your list of repositories and dependencies:

repositories {
  mavenCentral()
}

dependencies {
  implementation("io.github.fletchmckee.liquid:liquid:1.1.1")
}

Below is a simple implementation:

@Composable
fun LiquidScreen(
  modifier: Modifier = Modifier,
  liquidState: LiquidState = rememberLiquidState(),
) = Box(modifier) {
  // Content layer for `liquefiable` source nodes
  ImageBackground(
    Modifier
      .fillMaxSize()
      .liquefiable(liquidState),
  )
  // Control layer for `liquid` effect nodes
  LiquidButton(
    Modifier
      .align(Alignment.TopStart)
      .liquid(liquidState),
  )
}

See full documentation here.

Acknowledgements

License

Copyright 2025 Colin McKee

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Projets similaires

Compose Multiplatform Liquid Glass effect

Kotlincompose-multiplatformjetpack-composeliquid-glass
KKyant0
4 k étoiles317

☁️ Kotlin Multiplatform blur and liquid glass effect library for Compose, with GPU-accelerated rendering and CPU fallback for older devices.

Kotlinandroidblurblur-image
Sskydoves
1,3 k étoiles54

Compose Multiplatform library for rendering Lottie animations with a custom pure Kotlin renderer

Kotlinafter-effectsanimationbodymovin
Aalexzhirkevich
690 étoiles27