Project

General

Profile

Statistics
| Branch: | Revision:

library / src / main / java / org / distorted / library / main @ 97b6c85e

# Date Author Comment
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....

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.

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.

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

Minor.

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

Minor.

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.

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.

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.

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

Simplify AssociationUniformBlock

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.

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.

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.

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!

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.

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

Fixes for pausing and restarting.

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)

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.

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.

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

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

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

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.

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.

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

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)

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.

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.

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

Do not crash if we failed to compile some programs.

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.

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

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!

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

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

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

Further corrections.

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

Minor.

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.

35476762 03/01/2020 12:52 AM Leszek Koltunski

Convert RubikCube to the new V&F center schema!

644c21f2 02/29/2020 10:13 PM Leszek Koltunski

Moving the Vertex and Fragment centers of effect to the center of the Mesh.

c0f5af7b 02/29/2020 04:00 PM Leszek Koltunski

Fixes for the merge.

044b5494 02/26/2020 10:23 PM Leszek Koltunski

Move the Effects.setStretch to Meshbase.setStretch

c90aca24 02/26/2020 03:52 PM Leszek Koltunski

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)

f953bee0 02/16/2020 10:30 PM Leszek Koltunski

Making the Dialogs more consistent.

ece89b28 02/15/2020 01:02 AM Leszek Koltunski

Adjustment to Static's API.

eddf0cb7 02/01/2020 01:14 AM Leszek Koltunski

remove an unused, redundant API.

cd1f5056 11/30/2019 12:10 AM Leszek Koltunski

Yes! new commit, a fix to a comment :)

20dbec0e 05/11/2019 10:33 PM Leszek Koltunski

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

106ae28d 05/07/2019 10:35 PM Leszek Koltunski

Progress with DistortedCube.

34e43b0a 05/07/2019 08:06 PM Leszek Koltunski

Progress with DistortedCube.

46b572b5 05/03/2019 10:46 PM Leszek Koltunski

Correct the Legal notice.

7602a827 05/02/2019 10:41 PM Leszek Koltunski

Rename all the classes that are not exported to application to 'Internal'

809dcae3 05/02/2019 10:33 PM Leszek Koltunski

Finally move the EffectQueues to their own package.

d5b709df 05/02/2019 06:26 PM Leszek Koltunski

Cut another interdependency between the Queues and the rest: it is no longer necessary to add DNodes to PostprocessQueue to rearrange the Nodes by buckets. The rearranging is now done on next render instead.

bfe45b4a 05/02/2019 01:22 PM Leszek Koltunski

Move all Program-related stuff to Distorted. Now the DistortedEffects class is very simple.

a0397f32 05/02/2019 12:54 PM Leszek Koltunski

Make DistortedEffects oblivious of the effect types.

e37d470b 05/02/2019 10:42 AM Leszek Koltunski

Cut one interdependency between the EffectQueuePreprocess and DistortedNode

84d51487 05/02/2019 10:21 AM Leszek Koltunski

Cut one interdependency between the EffectQueuePreprocess and DistortedEffects

11845a9e 05/01/2019 09:52 PM Leszek Koltunski

Carve the 'children list' from DOutputSurface and DNode into a separate class of its own, DistortedChildrenList.

6bce98fc 05/01/2019 02:34 PM Leszek Koltunski

Minor.

8bfefd68 05/01/2019 12:27 PM Leszek Koltunski

Split the DistortedNode class into two - DistortedNode and DistortedNodeData

9cae4322 04/30/2019 11:25 PM Leszek Koltunski

Some simplifications to the Node.

c43abe6c 04/30/2019 09:42 AM Leszek Koltunski

Fixes for memory leak problems uncovered by the 'Rubik' app. (mainly: new method DistortedNode.markForDeletion)

6a29ecf7 04/26/2019 07:10 PM Leszek Koltunski

We don't have to mark Textures for creation until we fill them up with data.

fbe9542f 04/26/2019 07:08 PM Leszek Koltunski

Correct the same bug for DistortedTextures and DistortedFramebuffers: only mark them for creation when we actually have everything ready, i.e. as the last statement in the constructor.

ccd98f1c 04/26/2019 04:54 PM Leszek Koltunski

Correct a bug in DistortedBuffer: we only mark it for creation when we actually have all the data ready, otherwise it can happen that create(0 is called before setData() !

d2039fdd 04/09/2019 11:14 PM Leszek Koltunski

Improve locking in DistortedObject.
DistortedMaster: slaves can be NULL !

142c7236 04/07/2019 06:22 PM Leszek Koltunski

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)

f211a191 03/29/2019 09:26 PM Leszek Koltunski

Finish the Rubik app.

bd4b36be 03/20/2019 10:47 PM Leszek Koltunski

Avoid a potential crash on exit

06dbccad 03/20/2019 04:11 PM Leszek Koltunski

Before we start rendering, effects can always be added.

1418a5eb 01/06/2019 11:15 PM Leszek Koltunski

Relax requirements on when we can call DistortedEffects.setMax().

Before this change one had to call it before creation of shaders and before any of the DistortedEffects classes got created.
This commit removes the second requirement so now with setMax it's just like with enabling effects: it's best done in onSurfaceCreated.

7bebb196 01/04/2019 11:07 PM Leszek Koltunski

Massive: make the coordinate system agree with that of OpenGL (i.e. invert the Y axis).

2fef9669 01/03/2019 09:09 PM Leszek Koltunski

Correct the z-axis of the center of fragment effects (it was inverted)