Post Processor Effect to Reduce/Increase Brightness

Good day Ladies and Gentlemonkeys,

I wish to accheive in postprocessing an effect in which the brightness of my framebuffer is scaled, much like the ColorFilterOverlay filter, but when I use this filter, even objjects that are lit to be brighter than 1.0 have their brightness scaled down. I think I need to change my framebuffer texture to use 64 bit colors so that values greater than one can be preserved. How would I go about doing this, and alternatively, would putting a semitransparent overlay into the actual world directly in front of the camera be a simpler or more efficient solution?

  1. try to use color more than 1.0 values to make things more bright (like ColorRGBA(1.5f, 0.8f, 0.5f, 1.0f)). Possibly it will help.

  2. ColorFilterOverlay filter uses Multiply mode (not Overlay mode like in Photoshop). For this reason there is ColorScale filter which you can get through “shaderblowlib” plugin. https://wiki.jmonkeyengine.org/legacy/doku.php/sdk:plugin:shaderblow
    This filter has Normal, Multiply, Overlay modes. You can play with them. See testCase for this filter: Google Code Archive - Long-term storage for Google Code Project Hosting.

Or you can get source here of the ColorScale filter: Google Code Archive - Long-term storage for Google Code Project Hosting.

Afaik you should be able to go above 1 with the values, its called “HDR”.

Thanks guys,
II have a superbright object with a brightness much greater than 1, but after the application of the ColorFilterOverlay at (.5 .5 .5), the brightness is reduced. What I am looking for is for color values > 2 to still render as white, after being multiplied by this colorfilteroverlay. Since this is not the case, my guess is that the framebuffer object or sometihng along the pathway from my original super bright texture to the screen is not using the HDR color mode. How would I set this color mode?

I would not use an overlay in the world in front of the camera. I haven’t thought about it much, but I think there would be other problems with that. But idk, maybe its possible.
What you are talking about really sounds like HDR. JMonkey does have an HDRRenderer. But there will be a problem if you are also using filterpostprocessor, I recently learned that it’s a known issue. HDRRenderer did not work for me because for some reason it turned my scene bright white and black, so I made my own HDR thingy. Also, when you say you want values >2 to be white, HDR that uses the Reinhard equations (which HDRRenderer does) has a variable called “white point” which defines he minimum value required to be white.
Oh and yes, the framebuffer’s color texture format does need to be changed to support floating points. I think in filterpostprocessor, the format is RGBA8 or something; you need something like RGBA16F.

@seann999 said: I made my own HDR thingy

Hey, you solved the issue with HDR? Can you share with your HDR then? I will really appreciate it?

@mifth said: Hey, you solved the issue with HDR? Can you share with your HDR then? I will really appreciate it?
@mifth The issue with HDRRenderer and FilterPostProcessor conflicting each other? Then no, I did not solve it. Is that what you're talking about?
@seann999 said: @mifth The issue with HDRRenderer and FilterPostProcessor conflicting each other? Then no, I did not solve it. Is that what you're talking about?

Yes meant that. It’s bad that there is no solution yet. :frowning: