Post processing shader factory + enhanced Bloom

The original goal was to create a framework to easily generate and experiment with various filters that can be used to enhance the BloomRenderPass.



This package includes shader factory that can generate various image filters for full-screen post-processing.

The filters can be based on a convolution, linear components (horizontal and vertical) or arbitrtary sampling lists. For sampling lists a sample is defined as a relative location of a sampled pixel with a sample weight.



Linear gaussian filter is highly optimized to reduce the number of samples. This is achieved by using sub-pixel sampling (works in conjunction with LINEAR magnification filter set on the filtered texture).



Big thanx to MrCoder for the original shader code that inspired this work.





To run the bloom render pass, you can launch TestBloom included in the package. You need to have both jme and lwjgl on your classpass as well as all the necessary binary libraries in the library path for any of the tests to work.



Edit: hosting changed to http://code.google.com/p/jmeaddons/

This is achieved by using sub-pixel sampling (works in conjunction with LINEAR magnification filter set on the filtered texture).

Yes, this is how I got my shader to render fast. I'll test it on my crappy PC when I get home and compare. Hopefully we can get some really good speeds, especially on shader-hating cards like GeForce FX 5200..

I haven't unrolled the for loop, because I think the shader compilers should be capable of doing that for you. However if you have problems on your shader-hating card, let me know.