new VertexEffectRotate
Add the first two VERTEX 'pseudo-matrix' effects: VERTEX_MOVE & VERTEX_QUATERNION i.e. implementations of those two MATRIX effects in VERTEX queue.
The point(s):
1) preparation for the upcoming MeshBase.preApply(VertexEffect effect) API that's going to supersede the current much more limited MeshBase.apply(MatrixEffect effect)...
Move to AndroidX, target API level 29.
Minor.
Progress with Pretty Patterns.
Fix the memory test - we need to run one thing on the Graphics thread!
The Pyraminx itself finished - now its movements!
Progress with Pyraminx.
Some progress with Pyraminx.
Icons, details.
Progress with MeshJoin app.Fix rotating in some apps.
Progress with of Pyraminx.Bugfix for joining a single Mesh!
Improve setTextureMap.
Make MeshBase.setTextureMap() work.
Minor.Looks like MeshBase.join() actually works.
New MeshJoined.Test app says it's not working - bug in MeshBase.join().
Further corrections.
Further corrections for the first apps.
Port Cat and Dog to the new setStretch-less API.
Port Girl to the new setStretch-less API.
Port Dynamic to the new setStretch-less API.
Port Listener to the new setStretch-less API.
Port Deform to the new setStretch-less API.
Some cleanups in MonaLisa, Bean & Sink.
Convert Projection to not use the depreciated MeshBase.setStretch() API.
Convert Bean to not use the depreciated MeshBase.setStretch() API.
Convert Sink to not use the depreciated MeshBase.setStretch() API.
Correct the Rubik app for the recent changes to the library's Node.
Size of the FBO internal to Nodes is now NO MORE taken from the Mesh's stretch values.Instead, the size is copied from child's FBO size (if there is one) or if the child is a leaf with texture in it (which is sizeless) then we get the default 100x100 ( which means we probably have to explicitly call Node.resizeFBO() )
Remove width & height from InternalSurface and move it to InternalOutputSurface.
Hide the InternalSurface class inside its package.
Minor
All apps converted to the new V&F center schema!
Moving the Vertex and Fragment centers of effect to the center of the Mesh.
First fixes for moving the Vertex and Fragment centers of effect to the center of the Mesh.
Fixes for the merge. Everything works now!Next step: make the center of Vertex & Fragment effects be in the center of the Object, rather than the lower-left corner.
Fixes for the merge.
Merge branch 'empty-matrix-effects-in-the-center' into modern-empty-matrix-effects-in-the-center
Fix for MeshBase.apply()
New API: MeshBase.join() and a skeleton of an App to test it.
New Mesh 'Triangles' and updated Inflate & Generic apps to test it.
Move the Effects.setStretch to Meshbase.setStretch
Move the 'pre-multiply mesh before applying any effects' thing from [(Xsize of texture, Ysize of texture) x Mesh's zFactor] to Effects.setStretch(sx,sy,sz)
Rename MeshFlat MeshRectangles.
Making the Dialogs more consistent.
Adjustment to Static's API.
Dynamics App: fix moving Quat PointsLibrary: remove negating the Quat Points in the DynamicQuat in order to always go the shortest route.
Dynamics App: add checking a Dynamic4D.
Add the 'convexity' param to Dynamics and the Dynamic app.
Minor bugfix to the Dynamic app
Minor improvement to the Dynamic app
Improve the Dynamic app.
Dynamic App: add Toast.
Minor improvements in the Dynamics.
1. Change the API of Dynamic: split makeNowRunFor into two separate 'setDuration' and 'resetToBeginning'2. Major changes to the 'Dynamic' app so that we can check more about the Dynamics.
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.