T O P

Simple bloom effect (with ping-pong blur)

No hate, just want to say that the learnopengl "bloom" is not really bloom. There is a really good video about this, which also explains why the learnopengl bloom is "trash".

No hate I just always remember this when seeing the learnopengl bloom, learnopengl is an excellent platform for learning opengl and graphics programming. Keep the work up and have a nice experience learning opengl.

' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + '
Stulu08

No hate, just want to say that the learnopengl "bloom" is not really bloom. There is a really good [video](https://youtu.be/tI70-HIc5ro) about this, which also explains why the learnopengl bloom is "trash". No hate I just always remember this when seeing the learnopengl bloom, learnopengl is an excellent platform for learning opengl and graphics programming. Keep the work up and have a nice experience learning opengl.


voithos

Oh thanks for sharing! When I was implementing this, indeed the output looked a bit off but I couldn't put my finger on why and assumed it might've been due to the example scene. Great to know that there's a better approach to this, I'll have to try it out! :)


voithos

I went ahead and implemented the technique in that video! Indeed, it looks significantly better, haha. Thanks again for sharing! https://www.reddit.com/r/opengl/comments/zwn6vv/unthresholded\_bloom\_via\_downupsampling/


Chancellor-Parks

u/voithos nice! I did a bloom comparison myself about a month ago between Joey DeVries version and Alexander Christensen here [https://www.reddit.com/r/opengl/comments/yyqthn/example\_of\_different\_bloom\_effects\_with\_lens/](https://www.reddit.com/r/opengl/comments/yyqthn/example_of_different_bloom_effects_with_lens/) His is based more on a physically based rendering approach which indeed looks more natural. But even Joey's version has a place as well as long as you tweak it just right! =)


voithos

Nice work, thanks for sharing! :) One thing I'm curious about is why the alternative approach is called "physically based". I've heard several resources describe it as such, but never seen an explanation on the reasoning. I understand that it can often result in more natural-looking bloom (with the brightest parts approaching white, as they should) but I'm not sure that "more realistic" qualifies as "physically based"?


Chancellor-Parks

PBR or physically based rendering just means an approach to a more accurate representation of our physical world via how light interacts with materials as closely as possible. It will never reflect the real deal so to speak since there's just way too many variables to calculate and consider but we can get a pretty close approximation using actual physics. But still it is the closest we can get to reality as PBR. Hopefully that helps.


voithos

Yeah, I understand PBR in general and have implemented it in a path tracer in the past, so I was more asking about this "bloom" in particular. PBR from a shading standpoint makes perfect sense to me - I understand that we still use tons of approximations (especially for real time rendering), but when compared to earlier methods the discussion went from "does this random technique look realistic?" to "how can we mimic physics \[so that it looks realistic\]?", and to me that's what "physically based" means. So my question was, why do several people call this alternative bloom technique "physically based"? What physics is it based on? It certainly looks more realistic than the learnopengl version, but that doesn't automatically make it physically based, right?