Revert "Major refactoring: convert the Matrix Effects to be independent of the resolution of the surface we render to."
This reverts commit ec231614152da2cfdb65c3450cd47da83ee05a6f.
revert the recenr matrix Effects work.
Major refactoring: convert the Matrix Effects to be independent of the resolution of the surface we render to.
Re-write the first 15 apps to work with this.
Separate the Postprocessing Effects to their own DistortedEffectsPostprocess queue.This partly breaks Multiblur (to be debugged)
Move the Postprocessing buffers to OutputSurface.
Make it more flexible; now it can run almost all apps on OpenGL 2.0 contexts; OpenGL 3.0 ( with GLSL 3.00) required for POSTPROCESSING.
Upgrade from GLSL 1.00 to GLSL 3.00 ESIntroduce separate BLUR1 and BLUR2 shaders, the second one marging (writing to gl_FragDepth still does not work)
Progress with Multiblur.
This introduces some regressions with transparency (see: 'Different Bitmaps' and 'Around the world' )
Advances in Multiblur - breaks BLUR for now.
simplify blitPriv()
Introduce Effects.blitPriv() (faster than previous drawNoEffectsPriv)
Speed up shaders (both compilation and execution) by explicitly enabling only the needed effects.
Introduce 3 types of Surfaces: System, Tree, User
Fix OutputSurface.resize(): before it couldn't be called mid-render.
A lot of different fixes.
A lot of issues still there:
1) if we only render part of the tree, tree isomorphism will sometimes not work correctly2) when we change Effects that are inside Trees mid-render, even if we detach() the affected parts of the Tree first, for the last frame the new Effects will be used...
Simplify yesterday's refactoring.
Major: change of API.
Split DFramebuffer into Framebuffer and Screen; introduce the 'DistortedInputSurface' and 'DistortedOutputSurface' interfaces.
Some fixes for issues discovered by the Multiblur app.
Small progress with Blur.
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!)
Manifest: require OpenGL ES 3.0.
Minor.
Still one more problem in boundingVertices.
Postprocessing effects: remove support for Center
boundingVertices fully work now!
Debugging
Progress with getting Mesh'es bounding rectangle. Still doesn't quite work yet (visible : 'Cubes' app with a 0111 Mesh)
Progress with getting Mesh'es bounding rectangle.
Correct a bug with Postprocessing Shortcut.
Move more intelligence to EffectQueuePostprocess.
Minor reorganization.
Progress with multi-program rendering.
Naive implementation of blur works now!
Blurred image visible now!
Initial version of the first post-processing effect - BLUR - ready for the first app!
Further progress with Postprocessing. Now the missing bits are:
- implement Distorted.getFBO()- implement Distorted.clean()- improve compilation of DistortedPrograms so that the NUM_POSTPROCESSING and names of POSTPROCESSING effects will be #defined.
progress with Postprocessing.
rename all the 'grid' variables to 'mesh'.
Rename Grid to Mesh
New DistortedProgram class.
Add API to render from a FBO to another FBO
Again change of API. Now instead of the 'DistortedEffects.draw() and DistortedTree.draw()' we have 'DistortedFramebuffer.renderTo()'
Change of names.