Move all Program-related stuff to Distorted. Now the DistortedEffects class is very simple.
Relax requirements on when we can call DistortedEffects.setMax().
Before this change one had to call it before creation of shaders and before any of the DistortedEffects classes got created.This commit removes the second requirement so now with setMax it's just like with enabling effects: it's best done in onSurfaceCreated.
Fully move the Meshes to their own package.
Move all the knowledge about Vertex and Fragment effects to their respective classes.
Change of API: move setting the EGL context back to the APP.
Small API simplification.
Further progress with Apps.
Convert the first few Apps to the new Effect API.
Progress with support for Effect classes.
Simplify setting up DistortedScreen.
Progress with VBOs - this time abstract out a new class, DistortedObject - i.e. everything that uploads something to GPU and thus needs to be auto re-created upon loss of the context.
Revert "Convert a few more APPs to the new resolution-independent Matrix Effects."
This reverts commit 51554e4700774b72e18e97c7cc72ef887dfbf551.
Convert a few more APPs to the new resolution-independent Matrix Effects.
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)
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.
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!)
Rename Grid to Mesh
New DistortedProgram class.
Fix a lot of Lint warnings in the apps.
Again change of API. Now instead of the 'DistortedEffects.draw() and DistortedTree.draw()' we have 'DistortedFramebuffer.renderTo()'
Change of names.
Change in the API: we always have to create a DistortedFramebuffer to render to.
Hide the 'depth' of a DistortedTexture inside the library, so users do not get exposed to this weirdness.
Complete the split DistortedObject -> (DistortedTexture,DistortedEffectQueue)
Beginnings of split of DistortedObject into two separate classes: DistortedEffectQueues and DistortedTexture.
Still does not compile, but pushing already.
Rename various classes; fix a bug in Around the World.
Major change in API: separate the GRID from DistortedObject; completely remove classes derived from DistortedObject.
1. (hopefully) finish the 'Save' app (now we can adjust the size of the resulting file)2. Fix one long-standing bug in almost every single app.
Around The World pretty much finished!
Around The World: implement blackness
Improve Around The World
progress with Around the World
Around the World: setRace
Minor stuff
Progress with AroundTheWorld
New app: Around The World (beginnings)