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)
OIT: more fixes
OIT: fixes. Everything looks correct now except for the curious return of the 'dancing lower-left corner' small glitch in the 'Transparency' app.
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: 25 (out of 31) compile now.
Some progress with Effect classes.
10 apps 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.
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...
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.
New, cleaner way to create/destroy DistortedSurfaces.
Serious regression in StarWars (crashes!). Looks like the Node's internal FBO is being deleted and not re-created in time.
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.
onPause(): fix the Save app. All apps should behave correctly now.
Some improvements for StarWars's behaviour after onPause(), but it doesn't really work yet.
Remaining 'onPause-buggy' apps: StarWars, Save.
Change of API in DistortedFramebuffer.
Hide the 'depth' of a DistortedTexture inside the library, so users do not get exposed to this weirdness.
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.
Various relatively minor cleanups.
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.
Move the 'Save' app to using a DistortedFramebuffer.
Improvements for DFramebuffer.
Some more tweaking to the 'Save thread.'
Fix the 'Save' app so that the saving thread does not run all the time in a tight loop
Javadoc
Simplify SurfaceViews
Fix the 'Save' app on Android API >=23 (we need to explicitly ask for write permission)
Make the effect Center be always 3D.
Minor stuff
Tidy up 'Save'
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.
Save the image to 'Pictures' album in the Gallery.
Move the 'Save' effect to the Application and remove the 'OTHER' effect queue
1. new package 'message'2. Rename the 'Grid' classes to match
move data types, like FlatND and InterpolatorND, to a separate package.
Add License
Save PNG effect almost finished. Supporting App (hopefully!) completely finished.
What remains to be done: put actual saving of the Bitmap in a separate thread, away from the Graphics thread!!
Progress with Save app.
Beginnings of support for the 'Save' app.