Skip to content
Snippets Groups Projects

qt: optimize the frosted glass effect by not using second pass layering

Merged Fatih Uzunoğlu requested to merge fuzun/vlc:qt/optimizefrostedglasseffect into master

Currently layering (second pass) is used to render the blurred source offscreen, and then apply the rest of the effects (tint, exclusion and noise) to the offscreen source when drawing the result in the interface.

This is not ideal, because layering requires allocating resources for offscreen rendering.

The most ideal solution would be to modify the fragment shader of the blur effect. But we currently do not do run time shader compilation, and MultiEffect does not accept overriding its shader effect.

At the same time, FastBlur from Qt 5 Compat is used as fallback when Qt Quick Effects is not available. In a hypothetical scenario where we could override the fragment shader, it would mean that we would need to handle these two cases differently because MultiEffect and FastBlur use different shaders.

As a workaround, I propose having an underlay filter rectangle that acts as exclusion (due to opacity) and colorization (tint), and having an overlay as the noise layer.

Request review @chub.

Edited by Fatih Uzunoğlu

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 1 commit

    • 988e3b76 - qt: optimize the frosted glass effect by not using second pass layering

    Compare with previous version

  • added 1 commit

    • 97f8ec29 - qt: optimize the frosted glass effect by not using second pass layering

    Compare with previous version

  • Fatih Uzunoğlu resolved all threads

    resolved all threads

  • Steve Lhomme changed milestone to %4.0

    changed milestone to %4.0

  • added 1 commit

    • 248862f1 - qt: use lock file in ModelRecoveryAgent to consider multiple application instances

    Compare with previous version

  • Pierre Lamot
  • Pierre Lamot
  • Fatih Uzunoğlu added 58 commits

    added 58 commits

    • 97f8ec29...fa60a909 - 57 commits from branch videolan:master
    • a551996f - qt: optimize the frosted glass effect by not using second pass layering

    Compare with previous version

  • Pierre Lamot approved this merge request

    approved this merge request

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading