Project

General

Profile

Statistics
| Branch: | Revision:

library / src / main / java / org / distorted / library / effect @ c0255951

# Date Author Comment
c0255951 05/11/2023 03:28 PM Leszek Koltunski

Completely kick out the android.opengl.Matrix dependency from the library.

1dec66e0 05/11/2023 02:55 PM Leszek Koltunski

Implement the android.opengl.Matrix functions ourselves.

8c57d77b 03/31/2023 05:24 PM Leszek Koltunski

Decouple (to a large degree) the OpenGL Library from Android.

e5f796bc 01/08/2023 03:36 AM Leszek Koltunski

Major change in JSOn file format:

replace the old (corners,centers) system with a list of VertexEffects which are applied to each cubit variant.

c226920c 12/08/2022 01:28 AM Leszek Koltunski

Improve the Sink effect so that at extreme strengths (close to 0 and infinity) it inflates and deflates more.
Reason: previous version failed to fully inflate the Masterball to a nice sphere.

cc62b34a 07/15/2022 01:37 AM Leszek Koltunski

license

728562ae 03/24/2022 04:07 PM Leszek Koltunski

Very important bugfix in the Library: MatrixEffectQuaternion cannot share the tmp static buffers!

0e1d3d2e 01/02/2022 11:06 PM Leszek Koltunski

Extra API for QuatHelper.

b11171e8 12/16/2021 10:44 PM Leszek Koltunski

Add DistortedProgram.stopUsingProgram()

cc2367fe 10/11/2021 03:33 PM Leszek Koltunski

By default, do use Halo Depth (this broke the halo around a solved object in distorted-cube!)

5c84d9c2 10/08/2021 11:27 PM Leszek Koltunski

Set possibility for the Postprocessing effects to eclipse the whole object or only work at the edges.

e8a86d16 10/08/2021 12:47 PM Leszek Koltunski

comment.

23691e40 10/08/2021 12:42 PM Leszek Koltunski

New BORDER effect.

f90fe926 10/08/2021 11:05 AM Leszek Koltunski

Comment.

7b2f81e8 10/07/2021 10:32 PM Leszek Koltunski

Improvements for the new Border effect. Now works, but covers the object - to be corrected.

d58407a8 10/07/2021 03:23 PM Leszek Koltunski

New postprocess effect 'Border' (not working yet) and adding it to the testing app 'Triblur'.

8d98b65f 10/03/2021 12:40 AM Leszek Koltunski

Move destroying most of statics from onDestroy() earlier, to onPause().

Reason: doing this in onDestroy() is too late, because when we have two activities, and switch between them, first the ending's Activity onPause() is called, then the starting Activity's onResume, then it's onSurfaceCreated(), then we insert all the effects, and only then the ending Activity onDestroy() gets fired off - and this might destroy the already enabled effects, like for example the Programs of the Postprocessing effects.

bff329fb 07/13/2021 02:03 PM Leszek Koltunski

Copy constructors for the Statics.

835b197e 05/07/2021 12:06 AM Leszek Koltunski

Move the information when was a EffectQueue last time evaluated from the EffectQueues all the way up to the Node which contains them.
The point: we need to reset this time back to 0 every time we attach the Node (and thus start evaluating the Queues inside)

5ec42229 04/24/2021 12:12 AM Leszek Koltunski

Workaround for the fact that one some devices (for example the LG K30's V@415 driver on the Adreno 308) the Glow halo wasn't visible.

7958d843 04/23/2021 10:13 PM Leszek Koltunski

MeshBase's 'MAX_NUM_COMPONENTS' is not a constant - rename!

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

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.

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.

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.

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

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

Put new things to the StackFrame.

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.

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

Comments.

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)

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

Introducing UBO to Effect Queues: step 1.

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

New effect VertexEffectDisappear

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.

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.

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

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

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

Fixes for pausing and restarting.

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

Update Myanmar flag.

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

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

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)

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

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

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)

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)

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

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

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

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

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.

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.

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[])

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

Making the Dialogs more consistent.

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!

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

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'

569ea22c 04/03/2019 12:37 AM Leszek Koltunski

Add correct normal vectors to the PINCH effect. The effect is now fully 3D.

aee0b581 04/02/2019 09:58 PM Leszek Koltunski

Make the 'PINCH' effect fully 3D (define its acting line in terms of (latitude,longitude) angle pair).

Still, something is not fully working in the Earth app with the effect - investigate.

5f76092f 04/01/2019 11:21 PM Leszek Koltunski

Add (simplified, approximated) shading to the Sink effect, i.e. move the normal vectors.

8fdeecd7 03/29/2019 11:42 PM Leszek Koltunski

Remove unused imports.

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

Finish the Rubik app.

4af5bbe6 03/21/2019 03:30 PM Leszek Koltunski

Refactor the 'Generic' app.

dd89c7f4 03/19/2019 01:56 PM Leszek Koltunski

Bugfix: default, MAX region cannot be of Float.MAX_VALUE radius - then in the shader we can have an overflow. Make it 1000000 in radius.

1d25180f 01/24/2019 10:22 PM Leszek Koltunski

Some improvements to the Wind app - still does not look very realistic though :(

50be8733 01/12/2019 04:24 PM Leszek Koltunski

Correct Distort.

353f7580 01/11/2019 11:15 PM Leszek Koltunski

Make Distort truly 3D.

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

5e96393c 01/04/2019 12:35 AM Leszek Koltunski

Make the Sink effect fully 3D.

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

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

b82a9ac9 01/03/2019 12:49 AM Leszek Koltunski

Progress with the Earth app.

b24e4719 01/02/2019 03:57 PM Leszek Koltunski

Make the Fragment effects truly 3D: change their 4D 'region' into a 3D 'center' (a point in 3D) and 3D 'region' (which is now a set of 3 radii defining an ellipsoid around the center)

Also corresponding changes to the applications.

1f2cb152 12/30/2018 10:49 PM Leszek Koltunski

Further fixes for the new fully 3D vertex region.

4aa38649 12/30/2018 01:37 AM Leszek Koltunski

Redefine the Vertex Region from (x,y,r,unused) to (x,y,z,r). This takes into account the 'Z', which makes it possible to warp only one side of a 3D Mesh like Sphere.

Also corresponding changes in applications.

efaeb2a1 12/18/2018 11:29 PM Leszek Koltunski

Make Matrix effects Rotate and Quaternion actually correct when it comes to the Z-axis. Also corresponding adjustments in apps.

143095f7 12/12/2018 12:11 AM Leszek Koltunski

Minor cleanups.

2f1f7570 12/11/2018 06:03 PM Leszek Koltunski

Properly clean up static varaibles in the Effect classes!

e71dd7fb 12/11/2018 01:04 PM Leszek Koltunski

Improve computation of the thickness of the postprocessing halo - should be independent of the size of underlying object now.
Still it is not completely ok, it appears to depend on the ModelView matrix (use the Effects3D app to rotate the object around Z-axis to see this)

a16bf106 12/10/2018 01:39 PM Leszek Koltunski

Make the Effects3D app a bit more user-friendly.

1b840bc4 07/30/2018 02:49 PM Leszek Koltunski

More progress with Effects3D app.

9e771d06 07/26/2018 02:32 PM Leszek Koltunski

Progress with thr Glow effect - moving glow app looks ok now.

247d8225 07/25/2018 11:54 PM Leszek Koltunski

More progress with a more generic 'preprocess' stage of Postprocessing Effects.

5f7e4f2c 07/24/2018 03:00 PM Leszek Koltunski

Hide the FBO_QUEUE thing inside the library. The queue is running internally now, without public setAsOutputFBO() thing (simplifies writing postprocess effects)

031fbe7a 07/17/2018 01:14 PM Leszek Koltunski

Partially 'fix' Glow effect for the case when FBO_QUEUE_SIZE > 1 (come back to pre-FBO_QUEUE_SIZE level of functionality).
Still, Glow needs to actually get implemented correctly.

ca4521e3 07/05/2018 10:33 PM Leszek Koltunski

Simplify Main OIT shader.

c25273e0 06/29/2018 02:03 PM Leszek Koltunski

Standarize GLSL version across the whole library.

f4d6114c 06/23/2018 11:18 PM Leszek Koltunski

I spoke too soon, the ARM Mali flashing is of course not fixed yet. The previous commit fixed Triblur, but the bug is still reproducible elsewhere (only in the 'postprocessed' apps though).

This commit introduces a circular queue in case of the postprocessing FBOs - with little success though.

040cd18c 06/19/2018 11:04 PM Leszek Koltunski

Port all the 'non-controversial' changes from order-independent-transparency branch.

8dccc3c2 04/12/2018 08:42 PM Leszek Koltunski

Disable blending during postprocessing.

9455da17 04/09/2018 12:03 PM Leszek Koltunski

Fix for bug #28: looks of the borders of a blurred object depend on if the object is the first in the postprocessing bucket.

ae2802b1 04/08/2018 09:07 PM Leszek Koltunski

Postprocessing buffers mBuffer[] are now shared among all postprocessing operations. This saves a lot of memory, but also means that when doing each particular postprocessing, the textures backing up the mBuffer might be too large. We need to fix two things here: when outputting to those too large textures, we need to adjust the Viewport, and when binding those too large textures as input - we need to adjust the TexCoords to compensate....

3493ef61 04/05/2018 10:20 AM Leszek Koltunski

Improve Blur (boundaries should be more white than black)

e136346d 04/04/2018 02:01 PM Leszek Koltunski

New 'Triblur' testapp.

Shows that the Blur effect doesn't fully work (probably it is the 'blitWithDepth' function which needs to be corrected)