Convert Blur to stretchless API.
Convert Earth to stretchless API.
Convert AroundTheWorld to stretchless API.
Convert Wind app to the stretch-less API.
Convert Stencil app to the stretch-less API.
Convert DifferentEffects app to the stretch-less API.
Finally, after removing the calculation of the halo from the library and giving this decision to the user, we can update the Triblur app for the new MeshBase.setStretch-less API.
Change the Postprocessing effects: separate the radius and the halo.Reason: we needed a way to specify the size of the halo around a postprocessed object; before it was automatically (and not very correctly) computed from the radius - before we knew the size of the object's bounding box, so this automatic computation was possible. Now we're removing the MashBase.getBounding(0 API, so the size of the halo has to be explicitly given by the user. This way is more correct anyway and gives the user more control (as the Multiblur app proves!)...
A lot of changes.
1) main vertex shader: remove support for degree_object. This functionality will hopefully come back when we introduce other than circular regions.2) MeshBase: remove the need to set a Bounding box (this is the point of the whole thing - we wanted to get rid of this so that the advances in MeshJoined will be easier)...
Convert the third app, Transparency, to the new MeshBase.setStretch-less API ( use VertexEffectScale instead )
Convert the second app, Flag, to the new MeshBase.setStretch-less API ( use VertexEffectScale instead )
Convert the first app, Inflate, to the new MeshBase.setStretch-less API ( use VertexEffectScale instead )
fix for centers of Matrix effects.
new VertexEffectShear
new VertexEffectScale
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.
We need to add app version to build.gradle - otherwise the resulting dex file cannot be opened by Fire Stick!
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.