Correct the Legal notice.
Rename all the classes that are not exported to application to 'Internal'
Change Distort to Deform in two apps - looks better.
Massive: make the coordinate system agree with that of OpenGL (i.e. invert the Y axis).
Make the Fragment effects truly 3D: change their 4D 'region' into a 3D 'center' (a point in 3D) and 3D 'region' (which is now a set of 3 radii defining an ellipsoid around the center)
Also corresponding changes to the applications.
Redefine the Vertex Region from (x,y,r,unused) to (x,y,z,r). This takes into account the 'Z', which makes it possible to warp only one side of a 3D Mesh like Sphere.
Also corresponding changes in applications.
Fully move the Meshes to their own package.
Minor
Simplify Statics.
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.
Beginnings of support for the unified Data data type.
Fix Moving Effects APP. Now 23 out of 31 APPs work.
Further progress with Apps: 21 (out of 30) compile now.
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.
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...
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.
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.
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.
Fix 'FBO' and 'MovingEffects's behaviour after onPause().
Major restructuring with DistortedTexture. One now is able to create Textures anywhere, even from a thread which does not hold the OpenGL context. Same for DistortedFramebuffers.
Hide the 'depth' of a DistortedTexture inside the library, so users do not get exposed to this weirdness.
Complete the split DistortedObject -> (DistortedTexture,DistortedEffectQueue)
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.
Simplify SurfaceViews
Make the effect Center be always 3D.
Tidy up 'Moving effects'
1. Attempt to deal with unstable Orthonormal Base in Dynamic class (so far unsuccessful)2. Improvements to the 'Dynamic' (and by necessity, 'MovingEffects') applications (to be able to debug the previous)
Fix the 'Moving Effects' app
Further reduce the distortedObject's API - now only 26 methods, 1/4 of the 104 before the reorganization.
Some more progress with porting apps to new VERTEX API.
Major push towards simplifying DistortedObject's public API.All Fragment effects are using the new API - the 'DataND' marker interfaces.
Major push towards simplifying DistortedObject's public API.All MATRIX effects are using the new API - the 'DataND' marker interfaces.
move data types, like FlatND and InterpolatorND, to a separate package.
Add License
Improce the 'Check' App.
Improve aborting Effects.
Introduce ENUM EffectTypes
Beginnings of support for PostShader effects (SavePNG, SaveMP4)
Switch to sending a Context (rather than a GLSurfaceView) to the library.
Initial commit