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!
Simplify the way applications can get notifications when an effect finishes.
Now, instead of the 'DistortedEffects.(de)registerForNotifications()' 2 APIs, we call a single 'Effect.notifyWhenFinished()'.
Correct the Legal notice.
Rename all the classes that are not exported to application to 'Internal'
Move all Program-related stuff to Distorted. Now the DistortedEffects class is very simple.
minor.
Turn the Rubik app into a MemoryTest.
Another bugfix: if we keep changing the cube size and rotating sides at the same time, then it could happen that ability to rotate was permanently withdrawn.
Fixes for memory leak problems uncovered by the 'Rubik' app. (mainly: new method DistortedNode.markForDeletion)
Port changes from the 'distorted-cube' target.
Rubik App: minor
Rubk App: changes in the UI
Rubk App: improve 4 buttons in the top.
Rubk App: add 4 buttons in the top.
Improve the application list.
RubikCube: make the post-rotation effect 'nice'.
Many things.
1) make the Dynamic.setDuration() able to be called AFTER the Dynamic has already been run. (and rename it to 'makeRunNowFor()' )2) remove the automatic removal of zero Effects from EffectQueues.3) adjust several Apps to cope with 2)4) add post-rotation to Rubik (still not finished)
RubikApp: properly compute cameraDistance and FOV.
RubikApp: minor
RubikApp: make the rotations smooth.
RubikApp: simplifications.
RubikApp: simplify SurfaceView
Improve the architecture of the Rubik App.
Improve the architecture of the Rubik App: new RubikCube class.
Improve the Rubik App - rotation works now.
Improve the Rubik App - beginnings of rotation.
Improve the Rubik App.
Fix the PINCH effect in the Earth App.
Make the 'PINCH' effect fully 3D (define its acting line in terms of (latitude,longitude) angle pair).
Still, something is not fully working in the Earth app with the effect - investigate.
Finish the Rubik app.
Further improvement for the Generic app.
Refactor the 'Generic' app.
Improve the way Center & Region bitmaps are shown in the Generic app.
Rename the 'Effects3D' app files.
Rename the 'Effects3D' app.
Change Distort to Deform in two apps - looks better.
Improvements for the 'Rubik' app.
Improvements for texturing MeshCubes objects in two apps (in light of the recent change in default texture mapping)
1) new 'Rubik' app (skeleton)2) MeshCubes: add support for custom texture mappings on each side (Rubik needs that!)
Some improvements to the Wind app - still does not look very realistic though :(
Correct Distort.
Fixes for some stuff discovered while making the Distort effect fully 3D:
- make MeshSphere's normal lengths be 1 (used to be 0.5)- make the Effect3D app display precise values of the Center and Region vars.
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.
Massive: make the coordinate system agree with that of OpenGL (i.e. invert the Y axis).
Make the Sink effect fully 3D.
Correct the z-axis of the center of fragment effects (it was inverted)
Progress with the Earth app.
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.
Advances with the Earth app - prepare it to checking if any FRAGMENT or VERTEX effect correctly works on a Sphere mesh.
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.
Improve the world map.
Progress with the 'Earth' app.
Rename the old 'Cubes' app to 'Inflate' - this now combines the testing functionality of former 'Cubes' and 'Inflate' apps.The old 'Inflate' in turn renamed to 'Earth' - here we are going to show an Earth rotating in space.
Make Matrix effects Rotate and Quaternion actually correct when it comes to the Z-axis. Also corresponding adjustments in apps.
Sphere: map the texture a bit better around the seam and the poles.
New texture showing the World (Mercator projection)
Do not let users choose a Mesh with cols or rows equal to 0.
Some fixes for Sphere; still not completely ok though.
Add support for MeshSphere (add ability to display it in the 'Effects3D' and 'Inflate' apps).Still a bit buggy!
- new icon for the GLOW app- rename the BitmapTree app to ObjectTree
Improve the Triblur app to be able to switch objects into 1 of 3 states: no postprocessing, blur, glow.
Minor cleanups.
Make the Effects3D app a bit more user-friendly.
Bugfix: we need to remember all adjacent TABs, not just half of them to the left or right.
Progress with Inflate (building block of postprocessing effects: the proper way of marking a halo around a Mesh)'Inflate' app testing the machanism. MeshFlat appears to be working, now we only need to fill up the per-vertex Inflate vector in the MeshCubes.
Rename MeshObject to MeshBase.
Fully move the Meshes to their own package.
Progress with Effects3D app - merge Matrix effects
Progress with Effects3D app.
Effects3D app: remove debugs.
Correct the way we display Normals (didn't work in case rendering was of OIT type)
More progress with Effects3D app.
Make the 2nd Effects3D activity be an AppCompat one (for Fragments - avoid using a depreciated FragmentPagerAdapter).
Split the Effects3D app into 2 activities
Some progress with Effects3D app
Overhaul of the Effects3D generic test app.
Still not perfect (the 'postprocess' tab does not work; things crash when we rotate)
Progress with thr Glow effect - moving glow app looks ok now.
Make the OIT SSBO size independent of screen size.
Add OIT to the Effects3D app.
Convert everythig to GLES31 (there were some GLES30 remnants)
Transparency App: try to postprocess and not-postprocess the Transparent Surfaces.
Make the Cubes App capable of testing unprocessed OIT.
Correct a recently introduced bug.
I am pretty sure this time the flashing issues on Mali T880 r12 driver are finally fixed.
The fix: a queue of FBOs render to, just like before, but this time in DistortedScreen we blit not the current FBO, but the one computed several frames ago.
This of course introduces a delay and uses more memory, but it appears to work and does not seem to have any effects on speed.
Merging changes from order-independent-transparency branch.