Progress making it possible to apply Vertex Effects only to some Components of a Mesh.
1) Cube: convert it to the latest library. Main difference: objects are rendered better, individual cubits have rounded corners.2) Examples: some adjustments to MeshJoin & Predeform3) Library: fix a bug in main_vertex_shader's 'degree' function, which didn't work proprely in case of a vertex which was exactly at the center (i.e. vector PS was zero)
In library: allow a mixture of a deep and shallow copy of a Mesh ( mVertAttribs1 might be copied deeply or shallowly, mVertAttribs2 are always copied deeeply).Port RubikCube to the new library.
Progress with MeshJoin - round the corners. Looks so-so.
Progress with MeshJoin - sink association control done!
Progress with MeshJoin.
Fix VertexEffectRotate.'MeshJoin' app now back it its functionality from 'master'
Some progress with 'MeshJoin' app.
Bugfix for Predeform app.
1 more fix for the Predefrom app and preapplying Vertex Effects to a 1-component Mesh works :)
Progress with the Predeform app; deepCopy for the Meshes; various fixes.
Progress with the Predeform app.
Progress with Predeform: UI for the list of Vertex effects to preapply.
Progress (?) with Predeform: give up trying to render the Mesh in Activity1.
Progress with Predeform.
Beginnings of a new 'Predeform' app which tests pre-applying a queue of Vertex Effects to a (single?) Mesh.So far just a copy of Inflate app.
Minor
Convert the last app, EffectQueue, to stretchless API.
Minor.
Convert Generic to stretchless API.
Improve Generic.
Prepare Generic for the stretchless API.
Convert Mirror to stretchless API.
Convert DifferentBitmaps to stretchless API.
Convert Check to stretchless API.
Convert Glow to stretchless API.
Convert Save to stretchless API.
Convert SurfaceView to stretchless API.
Convert ObjectTree to stretchless API.
Convert Multiblur to stretchless API.
Convert Rubik app to stretchless API.
Convert AroundTheWorld to stretchless API.
Convert Girl to stretchless API
Convert Blur to stretchless API.
Convert Earth 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.
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.
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.