Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Design] Implement the bloom effect #1217

Closed
Tracked by #138
bmarty opened this issue Sep 4, 2023 · 1 comment · Fixed by #1253
Closed
Tracked by #138

[Design] Implement the bloom effect #1217

bmarty opened this issue Sep 4, 2023 · 1 comment · Fixed by #1253
Assignees
Labels
T-Task Refactoring, enabling or disabling functionality, other engineering tasks

Comments

@bmarty
Copy link
Member

bmarty commented Sep 4, 2023

Waiting for design confirmation.
@jmartinesp has already started working on it.

@jmartinesp jmartinesp self-assigned this Sep 4, 2023
@jmartinesp
Copy link
Member

I think I have a working implementation at the moment as a whole component, but I'd rather move to a Modifier solution.

The implementation:

  • Is based on BlurHash to generate the blur used based on some loaded Bitmap, so we have to find out how to integrate it with Coil. This avoids having to use RenderEffect for blurring, which only works on Android 12+, and it's quite efficient if we only calculate it once: since it's based on a single Bitmap it might not work great if we enable animated avatars.
  • Given the currently picked blend modes for the 'blurred layers' (HardLight, Saturation), we can only make it work down to API 29 (Android 10). In lower APIs the Bloom effect won't be visible. It's a shame, but it just isn't technically feasible to backport it any further.

@jmartinesp jmartinesp added the T-Task Refactoring, enabling or disabling functionality, other engineering tasks label Sep 8, 2023
@jmartinesp jmartinesp mentioned this issue Sep 11, 2023
14 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-Task Refactoring, enabling or disabling functionality, other engineering tasks
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants