Change the Postprocessing effects: separate the radius and the halo.Reason: we needed a way to specify the size of the halo around a postprocessed object; before it was automatically (and not very correctly) computed from the radius - before we knew the size of the object's bounding box, so this automatic computation was possible. Now we're removing the MashBase.getBounding(0 API, so the size of the halo has to be explicitly given by the user. This way is more correct anyway and gives the user more control (as the Multiblur app proves!)...
Lower requirements - now only OpenGL ES 3.0 is required; if running on such platform, OIT part of the API ( which is the only one which actually requires 3.1) is switched off.
Correct the Legal notice.
Rename all the classes that are not exported to application to 'Internal'
Minor cleanups.
Properly clean up static varaibles in the Effect classes!
Progress with thr Glow effect - moving glow app looks ok now.
Hide the FBO_QUEUE thing inside the library. The queue is running internally now, without public setAsOutputFBO() thing (simplifies writing postprocess effects)
Standarize GLSL version across the whole library.
I spoke too soon, the ARM Mali flashing is of course not fixed yet. The previous commit fixed Triblur, but the bug is still reproducible elsewhere (only in the 'postprocessed' apps though).
This commit introduces a circular queue in case of the postprocessing FBOs - with little success though.
Port all the 'non-controversial' changes from order-independent-transparency branch.
Fix for bug #28: looks of the borders of a blurred object depend on if the object is the first in the postprocessing bucket.
Postprocessing buffers mBuffer[] are now shared among all postprocessing operations. This saves a lot of memory, but also means that when doing each particular postprocessing, the textures backing up the mBuffer might be too large. We need to fix two things here: when outputting to those too large textures, we need to adjust the Viewport, and when binding those too large textures as input - we need to adjust the TexCoords to compensate....
Improve Blur (boundaries should be more white than black)
New 'Triblur' testapp.
Shows that the Blur effect doesn't fully work (probably it is the 'blitWithDepth' function which needs to be corrected)
Up library requirements to OpenGL ES 3.1 (needed for the upcoming GL_SHADER_STORAGE_BUFFER)
Internal API change around postprocessing.
Minor.
Fix quality levels in Glow.
Progress with Glow.
Bugfix in calculating blur offsets.
Introduce concepts of 'in' and 'out' postprocessing qualities.
Make Postprocessing quality per-effect (rather than applied to the whole queue)
Javadoc.
make RenderState package-local.
Fixes for dynamic postprocessing.
Minor
Now all PostprocessEffects are truly self-contained, including dynamic enable() and all shader sources.
Simplification in PostprocessEffects
Move all the knowledge about Vertex and Fragment effects to their respective classes.
All knowledge about Postporcessing moved to the respective Effect classes.
Simplify Effect classes.
Beginnings of support for the unified Data data type.
Progress with Effect classes - everything compiles now!
Progress with support for Effect classes.
The library compiles now!
Progress with support for Effect classes. Almost compiles now!