Translate the size of the Halo around postprocessed objects from 'number pixels around the object' (as held in the Effects themselves) to a float suitable for Inflating the underlying Mesh with the per-vertex Inflate vectors.
Progress with Inflate (building block of postprocessing effects: the proper way of marking a halo around a Mesh)'Inflate' app testing the machanism. MeshFlat appears to be working, now we only need to fill up the per-vertex Inflate vector in the MeshCubes.
Some simplifications in Meshes. Hide stuff inside MeshBase.
Rename MeshObject to MeshBase.
Fully move the Meshes to their own package.
Beginnings of a separate package only with Meshes.
Correct the way we display Normals (didn't work in case rendering was of OIT type)
Progress with a more generic 'preprocess' stage of Postprocessing Effects.
Partially 'fix' Glow effect for the case when FBO_QUEUE_SIZE > 1 (come back to pre-FBO_QUEUE_SIZE level of functionality).Still, Glow needs to actually get implemented correctly.
a mix of two changes:
1) remove the DistortedInputSurface interface (now every Surface is Input)2) make the OIT SSBO self-adjustable in size
Make the OIT SSBO size independent of screen size.
Some progress with not-postprocessed OIT.
Progress with non-postprocessed OIT.
Status: compiles, but fails to work on both Adreno and Mali. Crashes the app (Adreno) or the whole system (Mali)
Standarize GLSL version across the whole library.
Start merging master and OIT.
Minor.
OIT: fix for 'out of memory' crash on Mali GPUs.
~The thing still does not fully work there - there are still strange flashes in apps that innvolve OIT, for example in 'Triblur'.
OIT: move towards 4 passes ( clear - build - collapse - render )
OIT: lots of progress on all fronts. Still a few bugs to solve though!
Properly recreate the Atomic and LinkedList buffers onPause.We have to discard all alpha==0.0 pixels during OIT Pass1.
small correction for blending OIT colors.
minor.
OIT: something starts working ('Blur' and 'Multiblur' work, 'Triblur' and 'Transparency' do not)
Fix the 'OIT' artefacts.
still debugging the OIT
- remove counting of transparent pixels from main fragment shader- remove debugs and tidy up- some fixes for the Mali GPU
Order Independent Transparency: debugging
Order Independent Transparency: some progress
Order Independent Transparency. Does not work yet.
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....
SSBO: counting of transparent fragments more or less works now. Still the counters are zeroed out in the wrong place - every time we start rendering something to a given Surface, rather than once per frame.
SSBO: more and more works...
First try at the SSBO (doesn't work - reads in the application don't pick up changes in the shader; crashes.
Up library requirements to OpenGL ES 3.1 (needed for the upcoming GL_SHADER_STORAGE_BUFFER)
Internal API change around postprocessing.
Fix quality levels in Glow.
Debugging Glow.
Progress with Glow.
Introduce concepts of 'in' and 'out' postprocessing qualities.
Make Postprocessing quality per-effect (rather than applied to the whole queue)
Javadoc.
move EffectQuality to the effect package.
Fixes for dynamic postprocessing.
Minor
Move all the knowledge about Vertex and Fragment effects to their respective classes.
Fixes for removing effects.
Reorganize the way we add and remove all Effects (do it through DistortedMaster and is POSTPROCES - adjust Bucket and SORT Nodes).
Buggy: removing effects does not work.
Small API simplification.
Remove DistortedEffectsPostprocess and unify it with DistortedEffects.
Job not finished - doesn't compile now!
Fix 'Different Bitmaps' APP. Now 27 out of 31 APPs work.
Bugfixes for the recent 'Effect classes' API change.
Some progress with Effect classes.
11 apps compile now.
Further progress with Apps.
Convert the first few Apps to the new Effect API.
Progress with support for Effect classes.
The library compiles now!