Bugfix ( Mesh shallow copy wasn't working )
First attempt at Deferred Mesh Jobs.Only apply(VertexEffect) supported for now.
Correct VertexEffectQueue in the Mesh. There's no need to have a separate Queue in every component.
Preparation for saving/reading Meshes to/from a file.
Progress making it possible to apply Vertex Effects only to some Components of a Mesh.
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.
Some progress with 'MeshJoin' app.
Change 'tag' to a more appropriate name - 'association'.
Introduce 'tags' (soon to be renamed to 'associations') to Mesh and VertexEffect.A 'tag' is a way to associate a Vertex Effect only to a subgroup of a given Mesh's vertices (more precisely, only to an arbitrary subset of its Components)
Have VERTEX_QUATERNION, VERTEX_ROTATE and VERTEX_SHEAR modify inflate vectors.Split Vertex attribute array into two (the one modified by preapply effects and the one not)
Change abortAll to removeAll in effectQueues (for consistency)Remove all pre-effects from the component queues when they are not used anymore.
Speedup for preapply
1 more fix for MeshBase.apply(VertexEffect). This still does not (fully) work though.
3 fixes for MeshBase.apply(VertexEffect).This still does not work though.
Progress with the Predeform app; deepCopy for the Meshes; various fixes.
First attempt at the MeshBase.apply(VertexEffect) API.
Remove the MeshBase.{set/get}Stretch API altogether.
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)...
Lower requirements - now only OpenGL ES 3.0 is required; if running on such platform, OIT part of the API ( which is the only one which actually requires 3.1) is switched off.
Progress implementing RubikCube.retObjectString()
Bugfixes in MeshBase:
1) improper buffer was being invalidated after apply and setTextureMap (TFO rather than VBO!)2) setTextureMap would only work if all components were being set
More support for the 3x3x3 Solver: more of the actual 3x3x3 solver mechanism.
Progress with of Pyraminx.Bugfix for joining a single Mesh!
Improve setTextureMap.
Make MeshBase.setTextureMap() work.
Fix MeshBase.join()Only upload Mesh Buffers to GPU when we actually use them.
New MeshJoined.Test app says it's not working - bug in MeshBase.join().
Further corrections.
Convert Projection to not use the depreciated MeshBase.setStretch() API.
Correct the Rubik app for the recent changes to the library's Node.
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)
New API MeshBase.apply(MatrixEffect[])
Correct the Legal notice.
Rename all the classes that are not exported to application to 'Internal'
- new icon for the GLOW app- rename the BitmapTree app to ObjectTree
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.
Minor simplifications in Mesh.
Added a new attribute to vertices of a MeshBase object: the vec3 'inflate' vector.This vector describes the direction where the vertex needs to be moved when we 'inflate' the whole mesh.If the mesh is locally smooth, this is simply the normal vector; otherwise (for example in the corners of the MeshCubes) - not....
Some simplifications in Meshes. Hide stuff inside MeshBase.
Small things.
Rename MeshObject to MeshBase.