Project

General

Profile

Statistics
| Branch: | Revision:

library / src / main / java / org / distorted / library / main @ b7074bc6

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

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.

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.

e1e94682 12/17/2018 12:01 AM Leszek Koltunski

New MeshQuad class.

977756d7 12/14/2018 01:18 PM Leszek Koltunski

Fix the bug where the postprocessed GLOW halo of a Cube would be of different colors depending on the order of rendring of the cube sides. (one needed to switch off BLENDing while preprocessing )

8b7b2398 12/13/2018 10:35 PM Leszek Koltunski

Fix the bug where the postprocessed halo would not work for the first few frames of each quality level (before this commit the bug was visible in the 'GLOW' app).

973e99d7 12/13/2018 04:25 PM Leszek Koltunski

Minor.

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

Properly clean up static varaibles in the Effect classes!

e49b26ba 12/08/2018 12:16 AM Leszek Koltunski

Bugfix for the situation when we would be BLURring an object, then we remove the BLUR and apply a GLOW, then remove the GLOW and apply BLUR again - the second BLUR would assume the color of the GLOW.

20156af7 12/08/2018 12:03 AM Leszek Koltunski

Important bugfix in MeshCubes for the Inflate vectors.

8e88389e 12/07/2018 11:56 AM Leszek Koltunski

Translate the size of the Halo around postprocessed objects from 'number pixels around the object' (as held in the Effects themselves) to a float suitable for Inflating the underlying Mesh with the per-vertex Inflate vectors.

7a5e538a 11/30/2018 02:28 PM Leszek Koltunski

Progress with Inflate (building block of postprocessing effects: the proper way of marking a halo around a Mesh)
'Inflate' app testing the machanism. MeshFlat appears to be working, now we only need to fill up the per-vertex Inflate vector in the MeshCubes.

da681e7e 11/26/2018 09:21 PM Leszek Koltunski

Some simplifications in Meshes. Hide stuff inside MeshBase.

9a3607b3 11/26/2018 03:59 PM Leszek Koltunski

Fix the preprocess shader. This makes the 'Postprocess Tree' app look good again.

13981586 11/21/2018 11:46 AM Leszek Koltunski

Small things.

ed06301f 11/21/2018 11:09 AM Leszek Koltunski

Move EffectMessageSender to the 'message' package (duh!)

715e7726 11/21/2018 11:00 AM Leszek Koltunski

Rename MeshObject to MeshBase.

6c00149d 11/20/2018 10:49 PM Leszek Koltunski

Fully move the Meshes to their own package.

466450b5 11/20/2018 10:00 PM Leszek Koltunski

Beginnings of a separate package only with Meshes.

e6904678 08/06/2018 01:26 PM Leszek Koltunski

Progress with Effects3D app - merge Matrix effects

b1058021 07/31/2018 02:10 PM Leszek Koltunski

Postprocessing: adjust the Projection of the postprocessing buffers to match the Projection of the surface we are supposed to be rendering to.

99730f26 07/31/2018 01:43 PM Leszek Koltunski

Correct the way we display Normals (didn't work in case rendering was of OIT type)

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.

a13dde77 07/25/2018 08:43 PM Leszek Koltunski

Progress with a more generic 'preprocess' stage of Postprocessing Effects.

2386a081 07/25/2018 12:54 PM Leszek Koltunski

1. Hide internalQuality inside Postprocess effects.
2. First step to turn markStencilAndDepth into a more generic Postprocessing 'preprocess'.

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.

12f9e4bb 07/05/2018 12:39 PM Leszek Koltunski

a mix of two changes:

1) remove the DistortedInputSurface interface (now every Surface is Input)
2) make the OIT SSBO self-adjustable in size

acb44099 07/04/2018 10:30 PM Leszek Koltunski

Make the OIT SSBO size independent of screen size.

d5e053a5 07/04/2018 01:02 PM Leszek Koltunski

Remove the redundant DistortedNode.onPause()

001fb991 07/03/2018 12:06 PM Leszek Koltunski

Largely fix the non-postprocessed OIT. Still, one problem remains: back-facing surfaces seem to disappear (visible in 'Cubes')

86c352e0 07/02/2018 03:02 PM Leszek Koltunski

Some progress with not-postprocessed OIT.

c1a38ba3 07/01/2018 11:21 PM Leszek Koltunski

Progress with non-postprocessed OIT.

Status: compiles, but fails to work on both Adreno and Mali. Crashes the app (Adreno) or the whole system (Mali)

edea9cf3 06/29/2018 02:51 PM Leszek Koltunski

In Distorted.onCreate(), catch and re-throw exceptions, so that even is some Program fails to compile, others will still compile.

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

Standarize GLSL version across the whole library.

df5f8dd9 06/29/2018 01:31 PM Leszek Koltunski

Correct a recently introduced bug.

406e2f6b 06/29/2018 12:22 PM Leszek Koltunski

Give users API to render OutputSerfaces and attached Nodes in either the 'normal' way of OIT way.

a07e0204 06/29/2018 11:55 AM Leszek Koltunski

Start merging master and OIT.

97020807 06/29/2018 11:25 AM Leszek Koltunski

Start merging master and OIT.

61ce8e90 06/29/2018 11:07 AM Leszek Koltunski

Minor.

9ea800c6 06/28/2018 11:30 PM Leszek Koltunski

Minor.

8ac0ed3e 06/28/2018 11:21 PM Leszek Koltunski

Correct the way we delay FBOs in DistortedScreen.

b3d1b670 06/27/2018 11:52 PM Leszek Koltunski

Minor.

1f19fba8 06/27/2018 11:51 PM Leszek Koltunski

Port the Mali flash fix to the OIT branch.

6672d895 06/27/2018 01:31 PM Leszek Koltunski

I am pretty sure this time the flashing issues on Mali T880 r12 driver are finally fixed.

The fix: a queue of FBOs render to, just like before, but this time in DistortedScreen we blit not the current FBO, but the one computed several frames ago.

This of course introduces a delay and uses more memory, but it appears to work and does not seem to have any effects on speed.

586b5fa1 06/27/2018 01:30 PM Leszek Koltunski

Port another commit from master.

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.

8ebbc730 06/27/2018 01:16 PM Leszek Koltunski

Port a commit from the master branch.

Finally properly fix the flashing on ARM Mali T880 GPU.

The flashing is caused by a 'full pipeline flush' (see DarkPhoton, https://www.opengl.org/discussion_boards/showthread.php/200754-Flashes-on-ARM-Mali?p=1291679&viewfull=1#post1291679 ). In order to combat it, first introduce the possibility that a single DistortedOutputSurface is backed up by more than one FBO. Then make DistortedScreen be derived from DistortedFramebuffer (which itself is derived from DistortedOutputSurface) and make it contain 3 FBOs, render to them in a circular queue fashion, and blit from a given FBO to the system FBO. The 'more than 1 intermediate FBO' queue prevents the pipeline flush....

baa3989b 06/24/2018 12:07 AM Leszek Koltunski

Revert last changes to the postprocessing FBO.

This reverts commit 2dbed690bdbee80d9bfb22c800073855eb5d0946.

85bfeb7a 06/13/2018 09:33 PM Leszek Koltunski

Try and avoid re-sorting the children by buckets (if we can!). This makes change in rendering order in the 'Transparency' app actually work.

2dbed690 06/08/2018 02:03 PM Leszek Koltunski

In an attempt to contain the flashes on Mali GPU, re-structure the post-processing FBOs from 1 FBO with 2 color attachments + combined depth-stencil to 2 separate FBOs sharing a depth-stencil texture.

Result: this appears to make the flashes slightly worse.

82890e13 06/07/2018 11:47 AM Leszek Koltunski

Minor

2aef1f4d 05/31/2018 12:33 PM Leszek Koltunski

OIT: fixes for Mali: fix a broken loop in the oitRender fragment shader that resulted in flashing.