Skip to content

Conversation

@HEIHUAa
Copy link
Contributor

@HEIHUAa HEIHUAa commented Jan 30, 2026

This bloom effect is modified based on OpenFL's BlurFilter, achieving a result that is difficult for HScript to replicate with equivalent performance. Currently in its early stage and merely functional, I anticipate adding more optimization settings, such as bloom blend modes, custom brightness weighting, among other visual options, as well as improving the comments.
PotPlayerMini64_f9La4nl6j0

@HEIHUAa HEIHUAa marked this pull request as draft January 30, 2026 08:35
@nebulazorua
Copy link

Actual really cool usage of bitmapfilter actually

I just feel like instead of a specific bloomeffect though, might be better to make a generic MultiPassShaderFilter with a bloom filter as an example?

@HEIHUAa
Copy link
Contributor Author

HEIHUAa commented Jan 30, 2026

Actual really cool usage of bitmapfilter actually

I just feel like instead of a specific bloomeffect though, might be better to make a generic MultiPassShaderFilter with a bloom filter as an example?

Yes, that's exactly what I thought before working on this. Unfortunately, I'm not very skilled at writing source code, so I can't implement this feature myself.However, if this bloom effect meets my optimization goals, it should still deliver decent performance on most low-end devices. I'm thinking of something like the bloom quality you see in Roblox?

@NexIsDumb
Copy link
Member

oh my???

@HEIHUAa
Copy link
Contributor Author

HEIHUAa commented Jan 30, 2026

Currently supports blurX and blurY.
Currently, quality refers to the number of samples. However, since lowering this value further will cause noticeable ghosting issues, it will later be changed to represent the bloom rendering resolution.
strength is the intensity of the bloom effect.
threshold determines how bright each RGB component needs to be before bloom is triggered.

Future additions may include:

  • Gradual threshold: The closer the pixel color is to the threshold, the lower its influence on the bloom brightness.
  • Bloom brightness weighting: A simple, user-definable brightness weighting to increase customization.
  • Blend mode: The blending mode used between the bloom effect and the original image.

(If I can successfully implement a reduction in the bloom resolution, the performance will improve by leaps and bounds. Even if it's only rendering at 270p while outputting at 1080p, the visual result would still be perfectly acceptable. The number of pixels the bloom effect needs to process would then be just 6.25% of the original amount.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants