| Branch: | Revision:

library @ master

# Date Author Comment
80961fc1 02/24/2021 11:12 PM Leszek Koltunski

Make the 'Component Associations' UBO (on most devices) twice smaller -
use the 'packed' layout and 'ivec2' in place of 'ivec4'.

This forces us to dynamically probe the 'Stride' - number of 4-byte entities that the UBO's 'ivec4' takes - and correct the already-constructed UniformBlockAssociation objects in case this turns out to be different than the expected 2, i.e. tightly-packed....

6c3a8db8 02/24/2021 01:34 PM Leszek Koltunski

Add a new API DistortedEffects.exists(long id)

46d463a4 02/24/2021 09:40 AM Leszek Koltunski

Make per-component centers optional, controlled by API MeshBase.setUseCenters()

97b6c85e 02/23/2021 09:54 PM Leszek Koltunski

Bugfixes as a result of the Samsung Galaxy J4+ investigation:

1) By default, switch off transform feedback in the main program.
Create a new API 'needTransformFeedback()' to call if someone still needs TF in the main program.
2) lower the default max number of vertex effects to 30....

2acab35b 01/27/2021 01:56 PM Leszek Koltunski

Progress with Megaminx.

2b7d2abb 01/13/2021 12:21 PM Leszek Koltunski

Remove UBO from the fragment shader and come back to the default of only 5 concurrent fragment effects. All because UBOs in fragment shader crash on Adreno 510 and Adreno 506.

43b28f5b 01/10/2021 11:26 PM Leszek Koltunski


3ac42a4c 01/10/2021 01:01 PM Leszek Koltunski

Properly initialize DynamicQuat.

8f011621 01/10/2021 12:05 AM Leszek Koltunski

Remove all the calls to DistortedLibrary.setMax() (except for app 'Check', which explictly checks this API)

de77a6c5 01/09/2021 11:49 PM Leszek Koltunski

Introduce another Uniform Block Object. Now we can have much more vertex and fragment effects - up their default number to 100.

fb001aff 01/08/2021 04:08 PM Leszek Koltunski

Plug two more memory leaks. It should be fine now.

8b36dabf 01/08/2021 01:18 AM Leszek Koltunski

Plug a major memory leak.
Still one more leak remains - a similar UniformBuffer has to be markedForDeletion in the EffectQueues.

78ff6ea9 01/07/2021 04:08 PM Leszek Koltunski

Convert the Integer part (i.e. effect names and the two associations) of vertex and fragment shaders to Uniform Buffer Objects.
Next: convert the last part, i.e. the float effect parameters.

72ef21f7 12/16/2020 09:15 PM Leszek Koltunski


c8484d73 12/11/2020 09:25 PM Leszek Koltunski

Fixes for the Rex Cube (mostly works now)

c02f32f7 12/03/2020 01:51 PM Leszek Koltunski

Bugfix: fix a long-standing bug where switching on normal vector drawing would interfere with transparency.

457bd08e 12/02/2020 02:27 PM Leszek Koltunski

Bugfix: always normalize the normal vector after modifying it, otherwise the next effect might not work correctly (Distort!)

0c8e26ea 12/01/2020 10:46 PM Leszek Koltunski

Bugfix: we initially need to set the maxTextureSize to MAX_INT, because otherwise early (i.e. before a call to onSurfaceCreated) calls to setTexture() will fail.

3bbe4d67 11/29/2020 09:55 PM Leszek Koltunski

Put new things to the StackFrame.

3543a3cf 11/28/2020 11:37 PM Leszek Koltunski

Put new things to the StackFrame.

d4d1958a 11/26/2020 11:03 AM Leszek Koltunski


43814a57 11/26/2020 10:29 AM Leszek Koltunski

Fix the fact that the static DistortedEffects.mAllQueues was global, shared between all Activities.
Completely replace this mechanism with a non-static list of links from a VertexEffect to all VertexEffectQueues this effect is a member of.

728a7820 11/25/2020 09:19 AM Leszek Koltunski

Fix the fact that we would keep adding new InternalBuffers to the 'Done' list - split 'invalidate()' and 'recreate()' to two separate actions!

c046f62c 11/17/2020 03:07 PM Leszek Koltunski

Start creating the Tutorial Activity.

30094332 11/16/2020 06:41 PM Leszek Koltunski

More support for using the library from more than one activity. Should be working now!

9ec374e8 11/16/2020 12:04 PM Leszek Koltunski

More support for using the library from more than one activity

9519d1b1 11/11/2020 02:26 PM Leszek Koltunski

1) Beginnings of support for using the library from more than one activity
2) rename DistortedLibrary.onCreate() to onSurfaceCreated()
3) (rubik) add Cambodia's flag.

c8dbce40 11/07/2020 08:37 PM Leszek Koltunski


87a48d8e 10/16/2020 11:23 PM Leszek Koltunski

Improve the Skewb; set max components to 110 in MeshBase so that all of Professor Skewb's components fit.

2bd3d0fb 10/16/2020 03:35 PM Leszek Koltunski

Detect if the texture we are trying to upload is too large and return an error.

92403ff8 10/14/2020 08:24 AM Leszek Koltunski

Do not crash if we try to map a texture component out of range.

c92c163c 10/06/2020 10:08 PM Leszek Koltunski

New API for the library: add an empty texture component to a Mesh.
Use this in thr Magic Cube to add empty texture components to some types of cubits.

943b2e18 10/04/2020 11:35 PM Leszek Koltunski


8b082b9f 09/14/2020 10:10 AM Leszek Koltunski


45b08c37 09/13/2020 12:35 AM Leszek Koltunski


d456b075 09/08/2020 06:03 PM Leszek Koltunski

Add an extra option to MeshPolygon: making triangles located around the vertices of the polygon smaller.

eeb5d115 08/29/2020 01:25 PM Leszek Koltunski

Progress with MeshPolygon.

ac6a08e7 08/28/2020 02:56 PM Leszek Koltunski

Progress with MeshPolygon.

b948df7a 08/28/2020 12:37 AM Leszek Koltunski

Rename Meshes.

808ef3aa 08/28/2020 12:36 AM Leszek Koltunski

First attempt at new mesh - Polygon. Unfinished (normal vector!), untested

9f9924f8 08/26/2020 03:36 PM Leszek Koltunski

Remove the 'binding' parameter from the UBO in the vertex shader - this is not part of OpenGL ES 3.0, only introduced in 3.1, and we want to be compatible with 3.0.
Now we need to dynamically detect the UBO index and form a BlockBinding ourselves.

7a9edb92 08/26/2020 12:24 AM Leszek Koltunski

Add component centers to dmesh version 2.

45d530fc 08/25/2020 05:48 PM Leszek Koltunski

Update all the dmeshes to versions 2. Add the Dino dmesh.

a2878a67 08/25/2020 04:39 PM Leszek Koltunski

Remove the 'inflate' vertex attributs from the Mesh and file format, and replace that with a per-component 'inflate centers' (which are as of yet untested)

9becf30e 08/23/2020 11:29 PM Leszek Koltunski

Speedup: remember the mesh associations of VertexEffects only once, when they actually change, and not every time we compute() a VertexQueue.

24804c15 08/23/2020 12:00 PM Leszek Koltunski

Turn the vName, vEffAnd and vEffEqu integer array uniforms into a one ivec4.
The point: ivec4s are always packed tightly in UBOs (which is going to be the next step)

41b3ada0 08/23/2020 11:25 AM Leszek Koltunski

Simplify AssociationUniformBlock

a81e5cf7 08/21/2020 11:28 AM Leszek Koltunski


6b234228 08/21/2020 11:27 AM Leszek Koltunski

Merge branch 'effects-ubo'

  1. Conflicts:
  2. src/main/java/org/distorted/library/mesh/
35e7d841 08/21/2020 10:52 AM Leszek Koltunski


53873b84 08/21/2020 10:38 AM Leszek Koltunski


b187afac 08/21/2020 12:05 AM Leszek Koltunski


96e3b88a 08/20/2020 11:29 PM Leszek Koltunski

Introducing UBO to Effect Queues: step 1.

97755c02 08/19/2020 08:06 PM Leszek Koltunski

Move the 'effect association' part of MeshBase to a separate class.

0bd9f644 08/19/2020 01:31 PM Leszek Koltunski

Introduce an UBO to the vertex shader holding info about mesh effect associations.

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.