| Branch: | Revision:

library @ master

# Date Author Comment
524e4fe7 08/13/2020 10:00 PM Leszek Koltunski

Progress with the MeshFile app.

f0d1f003 08/13/2020 01:35 PM Leszek Koltunski

New effect VertexEffectDisappear

fdb60725 08/12/2020 09:53 AM Leszek Koltunski

Correct an issue shown by Crashlytics: sometimes it would crash in the library in InternalOutputSurface.setAsOutput() when trying to 'read from null array' mFBOH[].

62c869ad 08/06/2020 11:50 PM Leszek Koltunski

Fix normals in case of MatrixEffectScale / Shear.
Fix displaying the normal vector.

be42e989 08/02/2020 10:41 PM Leszek Koltunski

Fix modifications of normals in VertexEffectScale and VertexEffectShear.

9f28e9b6 08/01/2020 09:37 PM Leszek Koltunski

Progress with the Dino.

c1fa9e3c 07/30/2020 03:18 PM Leszek Koltunski

When blurring or glowing, we need to CLAMP_TO_EDGE the texture - otherwise part of the blur or glow could appear on the other end of the texture.

4db11f0c 07/30/2020 10:38 AM Leszek Koltunski

Improve the Blur App to catch the bug where a small part of the Blur (and Glow) halo gets displayed on the other edge of the surface.

5fa528a6 07/28/2020 11:14 PM Leszek Koltunski

Correct Inflate vectors in Triangles mesh

aa6e92f2 07/28/2020 10:46 PM Leszek Koltunski

Improve debugging in DistortedScreen

22f537a5 07/22/2020 10:09 PM Leszek Koltunski

Correct a subtle bug iin Framebuffer: in recreate(), we need to mark the FBOs as deleted on GPU; otherwise later we might delete them - and when we do, they might belong to another Framebuffer already!

8376b7d1 07/20/2020 08:47 PM Leszek Koltunski

Fix the fact that Distort was rotating normals outside of its region!

fd836a41 07/20/2020 07:42 PM Leszek Koltunski

Fix the fact that the Normal and OIT programs would not work after a period of being paused.

246d021c 07/20/2020 05:11 PM Leszek Koltunski

1) rename DistortedTexture's setColor to setColorARGB
2) fix the Wiind app to take into account paused time
3) fix the Dynamic so that if a single Dynamic is used more than once (in more than one effect) than it doesn't get adjusted for paused time multiple times.

0bff397a 07/20/2020 12:01 PM Leszek Koltunski

Fixes for pausing and restarting.

0273ef2a 07/18/2020 10:39 PM Leszek Koltunski

Fixes for pausing and restarting.

0876b482 06/23/2020 05:08 PM Leszek Koltunski

Improve setting text size in Spinners (forgotten part).

06ddd60d 06/16/2020 08:26 PM Leszek Koltunski

Fixes for the previous commit.

d99fcc9c 06/16/2020 07:37 PM Leszek Koltunski

Only compile the Full, Normal & OIT programs when they are actually needed.

5f35f1cb 06/16/2020 12:19 PM Leszek Koltunski

Only insert the 'Mali r12' FBO queue fix if we actually are running on a Mali GPU with driver version <22. (then FBOQueue=4 - unless we manually overide this down to 1 - else, always 1)

1833b0a0 06/15/2020 01:48 PM Leszek Koltunski

Library: introduce a new form of the MeshRectangular grid, where the individual rows and columns can be each of different width. This help reduce the number of vertices in objects as typically we are only interested at distorting a certain subregion.

Modify the Bean app to take advantage of this.

54ce4c6f 06/14/2020 06:30 PM Leszek Koltunski

Progress with the MeshFile app.

5eb4cc34 06/13/2020 08:28 PM Leszek Koltunski

Reading a mesh from the .dmesh file works now.

bc2ab8c5 06/13/2020 02:52 PM Leszek Koltunski

Reading a mesh from the .dmesh file might work now. Checked on two small meshes.

22422a76 06/11/2020 03:03 PM Leszek Koltunski

Initial support for a writing a Mesh to a file and restoring it from a file (new class MeshFile).

10836924 06/10/2020 12:24 PM Leszek Koltunski

new app icons; skeleton of reading/write a Mesh from/to a file.

22d3c4b4 06/09/2020 10:46 PM Leszek Koltunski

- Decrease FBO queue size to 3
- do clean the output surface even if it doesn't have any children (in renderChildren)

b8f8ef5c 06/09/2020 07:18 PM Leszek Koltunski

New option to display current frame number in the upper-left corner of a DistortedScreen.

8e3b71e2 06/07/2020 08:42 PM Leszek Koltunski

More progreess porting RubikCube.

e0343804 06/07/2020 01:41 PM Leszek Koltunski

Bugfix and new debugging methods in MeshBase
DeferredJob app rewritten to show the (just fixed) bug

96877ab4 06/06/2020 11:28 PM Leszek Koltunski

Begin porting RubikCube to the new SingleMesh library. This will make rendering much faster - e.g. in case of Cube 5, instead of 98 renders of individual Cubits, there will be one render of the whole Mesh.

dbe3079d 06/06/2020 09:31 PM Leszek Koltunski

Extend the MeshBase.setTextureMaps API so that we are able to set a single texture map to a single texture component, or a few consecutive at a time, not necessarily starting from component 0.

93aa7e5a 06/06/2020 04:58 PM Leszek Koltunski

Do NOT sett viewport to (500,500) when pre-appllying vertex effects as that causes the first (few?) frames the pre-applied Mesh is displayed to be displayed in a wrong place on the screen.

26671ef8 06/06/2020 12:17 AM Leszek Koltunski

Library: make setEffectAssociation a deferred job (because we do copy the uniforms during join!)
SingleMesh App: almost finished.

f45e4279 06/05/2020 12:34 PM Leszek Koltunski

Progres with SingleMesh; bugfix in MeshBase.apply(Matrix)

e8925fcd 06/04/2020 11:34 PM Leszek Koltunski

Big change to MeshBase:
1) split the list of Components into two: 'texture map' components and 'effect' components.
Reason: imagine the Rubik Cube with a Solver. When setting up a initial position in the Solver, we need to be able to set texture maps of each individual face of each cubit....

2aeb75aa 06/03/2020 08:25 PM Leszek Koltunski

Update Myanmar flag.

1fad573e 06/01/2020 10:40 PM Leszek Koltunski

DeferredJobs app/lib works now

6923706f 05/31/2020 09:31 PM Leszek Koltunski

Progress with DeferredJobs app/lib (still does not work though)

4c68cfd3 05/31/2020 06:51 PM Leszek Koltunski

Progress with DeferredJobs app (proves with the library part does not work :)

a8dfedcc 05/31/2020 05:39 PM Leszek Koltunski

Progress with DeferredJobs (apply, copy, merge & join should be working now - untested)

f4c5a46e 05/30/2020 11:55 PM Leszek Koltunski

1. New icon for PreDeform app
2. Library: advances with DeferredMeshJobs

71d8aba1 05/30/2020 08:07 PM Leszek Koltunski

Bugfix ( Mesh shallow copy wasn't working )

07206c71 05/30/2020 06:44 PM Leszek Koltunski

First attempt at Deferred Mesh Jobs.
Only apply(VertexEffect) supported for now.

aee078f8 05/30/2020 12:16 AM Leszek Koltunski

Correct VertexEffectQueue in the Mesh. There's no need to have a separate Queue in every component.

60fdf71d 05/29/2020 07:06 PM Leszek Koltunski

Only show the OpenGL Error dialog when the underlying hardwarre does not support OpenGL ES 3.0.

c52ddff8 05/29/2020 06:24 PM Leszek Koltunski

Preparation for saving/reading Meshes to/from a file.

36d65d88 05/29/2020 03:48 PM Leszek Koltunski

Progress making it possible to apply Vertex Effects only to some Components of a Mesh.

a79650a2 05/27/2020 11:43 AM Leszek Koltunski

Report a Crashlytics non-fatal if we fail to compile some shaders.

1e667536 05/26/2020 12:53 PM Leszek Koltunski

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 & Predeform
3) 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)

4f81e0c8 05/24/2020 09:03 PM Leszek Koltunski

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.

c61b08e4 05/23/2020 08:37 PM Leszek Koltunski

Fix VertexEffectRotate.
'MeshJoin' app now back it its functionality from 'master'

c1ffdea8 05/23/2020 06:53 PM Leszek Koltunski

Some progress with 'MeshJoin' app.

1e672c1d 05/23/2020 12:50 PM Leszek Koltunski

Change 'tag' to a more appropriate name - 'association'.

bc208a9c 05/23/2020 10:30 AM Leszek Koltunski

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)

535a45bc 05/21/2020 11:32 AM Leszek Koltunski

Fix licenses :)

e54bfada 05/20/2020 02:43 PM Leszek Koltunski

Split Vertex attribute array into two (the one modified by preapply effects and the one not)

ceed2df6 05/20/2020 11:05 AM Leszek Koltunski

Change abortAll to removeAll in effectQueues (for consistency)
Remove all pre-effects from the component queues when they are not used anymore.

667884b0 05/19/2020 08:01 PM Leszek Koltunski

Speedup for preapply

342a6773 05/19/2020 03:08 PM Leszek Koltunski

1 more fix for MeshBase.apply(VertexEffect). This still does not (fully) work though.

b5be333a 05/19/2020 02:43 PM Leszek Koltunski

3 fixes for MeshBase.apply(VertexEffect).
This still does not work though.

cbd502ec 05/18/2020 09:22 PM Leszek Koltunski

Progress with the Predeform app; deepCopy for the Meshes; various fixes.

f0604575 05/17/2020 09:04 PM Leszek Koltunski

Progress (?) with Predeform: give up trying to render the Mesh in Activity1.

f046b159 05/16/2020 07:54 PM Leszek Koltunski

First attempt at the MeshBase.apply(VertexEffect) API.

277eddbb 05/08/2020 11:03 PM Leszek Koltunski

Remove the MeshBase.{set/get}Stretch API altogether.

19e77994 05/07/2020 09:30 PM Leszek Koltunski

Fix for a crash when exiting an app:

Activity.onPause() -> MessageSender.stopSending sets mThis to null, then a last message gets sent and a crash in newMessage().

Fix this by

1) making the Message inner class static (so that we can create a new one without a reference to mThis)...

bb4755e2 05/05/2020 12:55 PM Leszek Koltunski

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!)...

b7209ffe 05/04/2020 04:01 PM Leszek Koltunski

Simplify a bit the place where we got a crash once.

0f10a0b6 05/03/2020 11:26 PM Leszek Koltunski

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)...

00be51f0 04/27/2020 09:32 PM Leszek Koltunski

new VertexEffectShear

a918bba1 04/27/2020 08:09 PM Leszek Koltunski

new VertexEffectScale

30d07491 04/27/2020 07:59 PM Leszek Koltunski

bugfix for VertexEffectRotate

9f34a0f6 04/27/2020 03:35 PM Leszek Koltunski

new VertexEffectRotate

e979d285 04/25/2020 12:18 AM Leszek Koltunski

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)...

f482efa3 04/24/2020 06:25 PM Leszek Koltunski

Do not crash if we failed to compile some programs.

f7718354 04/15/2020 09:56 PM Leszek Koltunski

Do not allow more than 15 characters in the NAME.

f1c2d4b0 04/13/2020 08:22 PM Leszek Koltunski

Move to AndroidX, target API level 29.

b7074bc6 04/13/2020 10:31 AM Leszek Koltunski

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.

e172985c 04/06/2020 10:18 PM Leszek Koltunski

Progress implementing RubikCube.retObjectString()

7e53a35f 04/05/2020 06:39 PM Leszek Koltunski

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

d917f059 04/05/2020 02:10 PM Leszek Koltunski

More support for the 3x3x3 Solver: more of the actual 3x3x3 solver mechanism.

66103fb2 04/03/2020 12:31 PM Leszek Koltunski

Speedup: only allocate one postprocessing buffer set of the quality we need, not all in one go.

209ea1c7 03/12/2020 09:47 PM Leszek Koltunski

1. library: new API DistortedNode.setProjection()
2. cube: adjustments for Pyraminx.

7690aab1 03/10/2020 09:51 PM Leszek Koltunski

Fix the memory test - we need to run one thing on the Graphics thread!

7490d738 03/10/2020 05:39 PM Leszek Koltunski

Fixes for the Projection matrix, FOV.

There was a confusion between the Projection of the Node onto the Screen, and the Projection of the Cubits on the Node.

e7f85322 03/06/2020 04:50 PM Leszek Koltunski

Progress with of Pyraminx.
Bugfix for joining a single Mesh!

a3a05347 03/05/2020 11:40 AM Leszek Koltunski

Improve setTextureMap.

de53cf3e 03/05/2020 12:39 AM Leszek Koltunski

Make MeshBase.setTextureMap() work.

b35570ad 03/04/2020 10:54 PM Leszek Koltunski

Looks like MeshBase.join() actually works.

22e60fba 03/04/2020 08:58 PM Leszek Koltunski

Fix MeshBase.join()
Only upload Mesh Buffers to GPU when we actually use them.

0d4aae88 03/04/2020 12:13 AM Leszek Koltunski

New MeshJoined.
Test app says it's not working - bug in MeshBase.join().

23b733db 03/03/2020 10:31 PM Leszek Koltunski

Further corrections.

60945edb 03/03/2020 01:08 PM Leszek Koltunski

Port Listener to the new setStretch-less API.

571aa3fa 03/03/2020 11:43 AM Leszek Koltunski

Convert Projection to not use the depreciated MeshBase.setStretch() API.

1b059065 03/03/2020 10:03 AM Leszek Koltunski

Correct the Rubik app for the recent changes to the library's Node.

9ecac8cd 03/02/2020 11:12 PM Leszek Koltunski

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() )

9c198dba 03/02/2020 04:23 PM Leszek Koltunski


d58b50e7 03/02/2020 04:11 PM Leszek Koltunski

Remove width & height from InternalSurface and move it to InternalOutputSurface.

4bb94a7d 03/02/2020 03:47 PM Leszek Koltunski

Hide the InternalSurface class inside its package.

b17aa4aa 03/02/2020 12:39 PM Leszek Koltunski