Invert the order of Matrix Effects. Now, just as in the other queues, the first matrix effect is actually the first to act on the object - not the other way around!
Correct the Legal notice.
Rename all the classes that are not exported to application to 'Internal'
Massive: make the coordinate system agree with that of OpenGL (i.e. invert the Y axis).
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.
Convert everythig to GLES31 (there were some GLES30 remnants)
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.
Further progress with Apps: 18 (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.
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.
Fix PlainMonaLisa's Activity lifecycle (it wouldn't work after a POWER button press, i.e. after a brief time in the background - surfaceCreated is not called in this case)
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!)
Progress with multi-program rendering.
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.
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.
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.
Make the effect Center be always 3D.
Minor stuff
Tidy up 'PlainMoanLisa'
Minor stuff - make the Bitmaps and the Cubes agree on the size of the grid, mostly.
Fix a bug in PlainMonaLisa - avoid a crash on screen rotate
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 MATRIX effects are using the new API - the 'DataND' marker interfaces.
move data types, like FlatND and InterpolatorND, to a separate package.
Add License
Improve aborting Effects.
Introduce ENUM EffectTypes
Beginnings of support for PostShader effects (SavePNG, SaveMP4)
New app: PlainMonaLisa (Mona Lisa rendered on plain SurfaceView)