Serhii Yaremych

@desugar.bsky.social

Android Developer passionate about GPU graphics and Jetpack Compose. Building Imla - an experimental GPU-accelerated blur solution for Android. Exploring OpenGL and rendering algorithms to create smooth visual experiences.

Added two little surface-light tricks to the glass: a specular hotspot, the sharp shine that slides around, and a soft fresnel sheen that lights up the edges at grazing angles. Together they make it feel less like a flat pane and more like something rounded you could squish

Serhii Yaremych@desugar.bsky.social · 3mo ago

My take on the iOS Siri liquid glass, running on Android. All real-time on the GPU, no video, no assets. Lens refraction, colored ribbons, fresnel rim, specular sheen, and a contact shadow through the glass. The shader is very messy, but I hope I manage to clean it up sometime. RenderEffectX

My take on the iOS Siri liquid glass, running on Android. All real-time on the GPU, no video, no assets. Lens refraction, colored ribbons, fresnel rim, specular sheen, and a contact shadow through the glass. The shader is very messy, but I hope I manage to clean it up sometime. RenderEffectX

A for-fun Android project: one flat photo in, a tilt-reactive 2.5D depth card out. Depth estimation, subject cutout, background inpaint, per-pixel parallax, all on-device, mostly CPU. Kotlin+Jetpack Compose, tested on a 2019 Xiaomi Mi 9. Thread, with the how-it-works. 🧵

RenderEffectX is my follow-on from Imla. Imla captures the Compose tree into a HardwareBuffer but presents it through a SurfaceView. This one keeps that pipeline, drops the surface, and draws the result inline. Same idea as RenderEffect, but down to API 29. #AndroidDev

Okay, I finally had time to update #Imla, my experimental GPU backdrop blur for Jetpack Compose. The main change is how it renders: instead of a surface per blurred region, the whole UI is captured once per frame into a HardwareBuffer that every blur layer samples on the GPU. 🧵

BildBild

Imla update, back after a long break and feeling inspired again. Reworked the renderer and layer composition, made effect layers aware of each other, reduced temporal flicker, and switched to a real progressive blur instead of alpha masking. Lots more planned 😊 #AndroidDev

PSA for #AndroidDev: Google's #16KB page size requirement starts Nov 1st - literally next week. Just discovered a really nasty corner case that ate hours of my time today. If ur using native libs this might save u from last-minute Play Store rejections. Here's what I found 🧵

I wrote a deep dive into Jetpack Compose class stability inference in the Jetpack Compose Internals book. People loved it, got great feedback. Now, @github_skydoves decided to write a masterpiece to expand on this topic. Absolute cinema, give it a read and a star! ⭐️ github.com/skydoves/com...

GitHub - skydoves/compose-stability-inference: 📚 A comprehensive study of how the Compose compiler determines type stability for recomposition optimization.

📚 A comprehensive study of how the Compose compiler determines type stability for recomposition optimization. - skydoves/compose-stability-inference

github.com