looks like bloom/hdr. but this could be achieved without a filter. but nodes will probably be required. “add” mix option will be your friend, color ramps too.
Welcome to the world where screens are smart…
My work monitor has a ‘cinema mode’ where it twiddles the contrast, tweaks the gamma, runs an edge detect (uh sharpness) and so on. Makes things look horrible.
Ever notice that airplane seat screen brightness control is just a digital … subtract. Not even a multiply. At anything less than full brightness you can’t see dark colors at all.
Its probably a gamma scaling done by the video player - trying to make sure both whites and blacks are on screen. This effect tends to make things look vivid and crisp. Thow a couple white pixels around on the video so that it cuts back on the “enhancement” and it will look similar enough on both.
You wannt to replicate it? It’s not a bloom, it looks at the min and max pixel luminosity and twiddles from there. Could be a fun project - probably do a render to texture at low res, compute some exposures and gamma curves, then feed that into a 2d filter.
The easy way to teplicate it: realize that a light source, even a purple one, appears white in themiddle. Then make textures that replicate that. (Ie put white in your texture)
Here’s the magic: They run your program on every single pixel of the screen. Every singe one. The vec4 written to G:_FragColor is what you see as your output pixel. There are a handful of builtin bender things (likg bgl_RenderedTexture), and many glsl standard things (like Texture2D). You can pass in game properties as uniforms. (create a uniform with the same name as a game property).
To be honest, you don’t need a 2D filter for this, just slightly better textures.
Which one is glowing:
Note:
A 2D filter would be about a zillion times slower than this method, but if you still want to learn let me know and I can give you more information.