Convert (almost) all remaining Apps to the new API which avoids memory leaks with Surfaces.
Remaining problematic Apps: 15. FBO 16. Star Wars (both leak Tree FBOs) 22. SurfaceView (does not work at all after going to background)
Major:
1) in the Library, fix the fact that some applications (those that were creating their DistortedSurface objects outside of onSurfaceCreated or onSurfaceChanged) would not render after the activity went to background (press POWER to see that).2) in the Apps, call the new 'Distorted.onPause()' API to fix the above problem...
Separate the Postprocessing Effects to their own DistortedEffectsPostprocess queue.This partly breaks Multiblur (to be debugged)
It now automatically chooses OpenGL ES 2.0 and GLSL 100 or OpenGL ES 3.0 and GLSL 300.
Postprocessing effects will not work on OpenGL ES 2.0 contexts.
New 'glClearColor' and 'glClearDepthf' APIs in OutputSurface. This fixes the 'transparency' regressions from last commit.
Speed up shaders (both compilation and execution) by explicitly enabling only the needed effects.
Change the the render() API!
THis introduces some regressions with the Effects3D app.
Major: change of API.
Split DFramebuffer into Framebuffer and Screen; introduce the 'DistortedInputSurface' and 'DistortedOutputSurface' interfaces.
Separable Gaussian Blur with linear sampling done.
Linear sampling implemented - i.e. blurring by a (2N+1)x(2N+1) gaussian kernel (centeral pixel + N pixels in each direction) requires exactly 2N + (N%2==1 ? 4:2) texture fetches.
Separable Box blur (almost) works.
Try using OpenGL ES 3.0 everywhere (but if device does not support it, try creating 2.0 context - this is important because of the emulator!)
improve Postprocessing; new icon; minor things.
Postprocessing effects: remove support for Center
New 'Blur' App. Actual BLUR effect, of course, does not work.