Project

General

Profile

Statistics
| Branch: | Revision:

library @ aee078f8

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

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.

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

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

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.

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

Minor.

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.

3eb6f354 02/28/2020 11:37 PM Leszek Koltunski

Merge branch 'empty-matrix-effects-in-the-center' into modern-empty-matrix-effects-in-the-center

  1. Conflicts:
  2. src/main/AndroidManifest.xml
  3. src/main/java/org/distorted/examples/TableOfContents.java
  4. src/main/java/org/distorted/examples/aroundtheworld/AroundTheWorldRenderer.java...
7594a5d2 02/28/2020 09:27 PM Leszek Koltunski

Fix for MeshBase.apply()

ea88d502 02/28/2020 12:19 AM Leszek Koltunski

New API: MeshBase.join() and a skeleton of an App to test it.

9099e567 02/27/2020 09:47 PM Leszek Koltunski

New Mesh 'Triangles' and updated Inflate & Generic apps to test it.

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)

fa8bc998 02/24/2020 04:31 PM Leszek Koltunski

New API MeshBase.apply(MatrixEffect[])

12e379d6 02/21/2020 11:27 AM Leszek Koltunski

Rename MeshFlat MeshRectangles.

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.

47bf4654 12/19/2019 12:11 AM Leszek Koltunski

RubikCube: make finishingRotation more flexible (can now finish any rotation which did finish interpolating (nearly) to the end - and not only the single-static 'manual' rotation)

c59fc52d 12/18/2019 09:33 PM Leszek Koltunski

Dynamics App: fix moving Quat Points
Library: remove negating the Quat Points in the DynamicQuat in order to always go the shortest route.

9dacabea 12/16/2019 02:21 AM Leszek Koltunski

library: Fix DynamicQuat
cube app: progress with ScrambleEffects

7a1fcbeb 12/02/2019 11:09 PM Leszek Koltunski

fix a bug: in certain places when we use reflection, it needs to be getDeclaredMethod and not getMethod because the methods are not public!

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

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

eaf57f1c 07/17/2019 10:22 PM Leszek Koltunski

Modify the 'convexity' param in Dynamics.

This finally satisfies the requirements of the 'Spin' effect in MagicCube: achieving constant speed ( by setting a 1D Dynamic's convexity to 0)

12ecac18 07/16/2019 09:42 PM Leszek Koltunski

Add the 'convexity' param to Dynamics and the Dynamic app.

f871c455 05/20/2019 03:24 PM Leszek Koltunski

Improvements to comments and function names in Dynamics

017e8aab 05/20/2019 12:31 AM Leszek Koltunski

Improve the Dynamic app.

c45c2ab1 05/14/2019 11:11 AM Leszek Koltunski

Minor improvements in the Dynamics.

b920c848 05/13/2019 10:00 PM Leszek Koltunski

1. Change the API of Dynamic: split makeNowRunFor into two separate 'setDuration' and 'resetToBeginning'
2. Major changes to the 'Dynamic' app so that we can check more about the Dynamics.

012901f5 05/12/2019 09:18 PM Leszek Koltunski

Invert the order of Matrix Effects. Now, just as in the other queues, the first matrix effect is actually the first to act on the object - not the other way around!

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.

9559b088 05/07/2019 02:05 PM Leszek Koltunski

Correct the EffectMessageSender.

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.