Project

General

Profile

Statistics
| Branch: | Revision:

library / src / main / res / raw @ 41ed3f0d

# Date Author Comment
eff6e3d3 03/14/2021 10:04 AM Leszek Koltunski

Properly solve the issue with Qualcomm driver V@331 having buggy UBO size.

073e5a7a 03/12/2021 10:33 PM Leszek Koltunski

Another attempt at fixing tthings on early Qualcomm OpenGL ES 3.0 drivers.

The previous version does not work on Adreno 405 driver V@100, present for example in a Asus ZenPad 8.
Revert the packed 'ivec2' UBO in the vertex shader back to a 'std140' ivec4. This comes at a price if bumping into the bug on Qualcomm driver version 331 on Adreno 308 - i.e. Samsung Galaxy J4+ again....

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

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

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

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.

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.

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)

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

35e7d841 08/21/2020 10:52 AM Leszek Koltunski

Bugfix.

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

Bugfix.

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

Introducing UBO to Effect Queues: step 1.

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

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

62c869ad 08/06/2020 11:50 PM Leszek Koltunski

Fix normals in case of MatrixEffectScale / Shear.
Fix displaying the normal vector.

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)

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)

667884b0 05/19/2020 08:01 PM Leszek Koltunski

Speedup for preapply

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.

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

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

b35570ad 03/04/2020 10:54 PM Leszek Koltunski

Minor.
Looks like MeshBase.join() actually works.

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

Further corrections.

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

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

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

Correct Distort.

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

Make Distort truly 3D.

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.

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.

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.

6f2d931d 11/26/2018 10:31 PM Leszek Koltunski

Added a new attribute to vertices of a MeshBase object: the vec3 'inflate' vector.
This vector describes the direction where the vertex needs to be moved when we 'inflate' the whole mesh.
If the mesh is locally smooth, this is simply the normal vector; otherwise (for example in the corners of the MeshCubes) - not....

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

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

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

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

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

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)

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

Simplify Main OIT shader.

6544040f 07/03/2018 12:47 PM Leszek Koltunski

Fix the fact that back-facing surfaces were invisible.

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

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)

5e331bc8 07/01/2018 10:07 PM Leszek Koltunski

Update the 'main' shaders for OIT.

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

Start merging master and OIT.

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.

344ac0e4 05/30/2018 02:22 PM Leszek Koltunski

OIT: fix for 'out of memory' crash on Mali GPUs.

~The thing still does not fully work there - there are still strange flashes in apps that innvolve OIT, for example in 'Triblur'.

c207da02 05/22/2018 03:48 PM Leszek Koltunski

OIT: fixes. Everything looks correct now except for the curious return of the 'dancing lower-left corner' small glitch in the 'Transparency' app.

90eb5f53 05/22/2018 01:26 PM Leszek Koltunski

OIT: correction for blending in Pass4

33f59f22 05/21/2018 05:17 PM Leszek Koltunski

OIT: move towards 4 passes ( clear - build - collapse - render )

b52f9415 05/11/2018 03:17 PM Leszek Koltunski

OIT: correct depth

7f30ed38 05/10/2018 03:11 PM Leszek Koltunski

OIT: more bugfixes

56c6ca24 05/10/2018 12:30 PM Leszek Koltunski

OIT: lots of progress on all fronts. Still a few bugs to solve though!

78e89fb5 05/03/2018 03:10 PM Leszek Koltunski

Properly recreate the Atomic and LinkedList buffers onPause.
We have to discard all alpha==0.0 pixels during OIT Pass1.

b36613d8 05/03/2018 12:19 AM Leszek Koltunski

small correction for blending OIT colors.

375b3950 05/01/2018 11:19 PM Leszek Koltunski

OIT: something starts working ('Blur' and 'Multiblur' work, 'Triblur' and 'Transparency' do not)

c731c612 05/01/2018 09:07 PM Leszek Koltunski

Fix the 'OIT' artefacts.

e029600f 04/27/2018 04:40 PM Leszek Koltunski

still debugging the OIT

2f35828c 04/26/2018 11:22 AM Leszek Koltunski

- remove counting of transparent pixels from main fragment shader
- remove debugs and tidy up
- some fixes for the Mali GPU

cee0369a 04/25/2018 03:26 PM Leszek Koltunski

Order Independent Transparency: debugging

47511918 04/25/2018 02:17 PM Leszek Koltunski

Order Independent Transparency: some progress

f89a986e 04/18/2018 02:37 PM Leszek Koltunski

Order Independent Transparency: some progress

8777ce17 04/17/2018 09:21 PM Leszek Koltunski

Order Independent Transparency. Does not work yet.

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

2faad666 04/02/2018 10:15 PM Leszek Koltunski

SSBO: now we have a more-or-less correct running average of the count of transparent fragments over the last few frames.

df4d7edc 03/29/2018 03:58 PM Leszek Koltunski

SSBO: correct various things.

51a3cbab 03/28/2018 10:33 PM Leszek Koltunski

SSBO: handle the fact that we might run out of space in our SSBO if we keep creating new Surfaces.

8a57da61 03/28/2018 09:14 PM Leszek Koltunski

SSBO: counting of transparent fragments more or less works now. Still the counters are zeroed out in the wrong place - every time we start rendering something to a given Surface, rather than once per frame.

27cd6b98 03/28/2018 08:29 PM Leszek Koltunski

SSBO: more and more works...

2ab60f72 03/28/2018 01:58 PM Leszek Koltunski

SSBO: something is working already, although we still get the 4 bytes back from the shader in reverse order ( so '17'=0x00000011 written by the shader becomes '285212672 = 0x11000000' )

12f45260 03/27/2018 07:56 PM Leszek Koltunski

First try at the SSBO (doesn't work - reads in the application don't pick up changes in the shader; crashes.

041b6dee 06/26/2017 03:44 PM Leszek Koltunski

Simplification in PostprocessEffects

7cd24173 06/20/2017 11:51 PM Leszek Koltunski

Move all the knowledge about Vertex and Fragment effects to their respective classes.

15aa7d94 06/08/2017 01:53 PM Leszek Koltunski

Progress with support for Effect classes.

2da9b250 05/30/2017 12:17 PM Leszek Koltunski

Beginnings of the GLOW unit test.

7170e4eb 05/24/2017 11:16 PM Leszek Koltunski

Move on to Stencil on both stages of the BLUR + separate 'blit with depth'.

This works wonders on Nexus 5X ( r=50 quality=HIGHIEST 1,4,8 cubes: 59.3,43.6,41.0 FPS! ) but it somehow fails to clear the DEPTH and STENCIL buffers on Nexus 4....

1d6d261e 05/24/2017 01:02 PM Leszek Koltunski

Move to a new way to detecting depth of postprocessing halos.
This switches off stenciling (hopefully temporarily!)

3fc9327a 05/11/2017 03:47 PM Leszek Koltunski

Use Transform Feedback to (optionally) display the Normal vectors.

604b2899 05/10/2017 12:56 PM Leszek Koltunski

Dynamic display of bounding rectangles (with coords computed by Vertex Shader and gotten with Transform Feedback) works now.

Major problem: the glMapBufferRange() slows doewn rendering in a major way. Multiblur's FPS:

Nexus5X : 35.4 before -> 12.6 after...

3e2376c4 05/09/2017 10:31 AM Leszek Koltunski

Make the Feedback APP work again.

135be991 05/09/2017 09:30 AM Leszek Koltunski

Revert "Progress with TransferFeedback app - introduce two modes: USEPOINTS 'true' or 'false'."

This reverts commit 21304c55380460c5882b789ea13eb00ffd9a686c.

dd7a5c7d 05/09/2017 09:30 AM Leszek Koltunski

Revert "This commit (and reading the OpenGL ES 3.0 spec) pretty conclusively proves that, sadly, Nexus 4's Transform Feedback implementation is incomplete (doesn't work with GL_TRIANGLES primitiveMode)"

This reverts commit 5ba19814852de1762e452662a13c4944792014a9.

f80337b5 05/09/2017 09:30 AM Leszek Koltunski

Revert "Some progress with Transform Feedback. Still many bugs all over."

This reverts commit 79921db22e4ff5a3b2e6e3466a39445f5607a695.

79921db2 05/05/2017 11:30 PM Leszek Koltunski

Some progress with Transform Feedback. Still many bugs all over.

5ba19814 05/05/2017 02:26 PM Leszek Koltunski

This commit (and reading the OpenGL ES 3.0 spec) pretty conclusively proves that, sadly, Nexus 4's Transform Feedback implementation is incomplete (doesn't work with GL_TRIANGLES primitiveMode)

21304c55 05/05/2017 12:17 AM Leszek Koltunski

Progress with TransferFeedback app - introduce two modes: USEPOINTS 'true' or 'false'.

On Nexus5X, it works with 'true' and 'false'. On Nexus 4, it works with 'true', but returns GL_INVALID_OPERATION with 'false'.

4782b4e6 05/02/2017 03:22 PM Leszek Koltunski

Progress with moving the Transform Feedback functionality from the APP to the library.

6e7c8721 04/26/2017 10:08 AM Leszek Koltunski

Simplifications.

fd2db957 04/21/2017 02:15 PM Leszek Koltunski

1) bugfix computing Gaussian BLUR kernel (for odd radii, the last offset was incorrectly computed)
2) introduce more advanced method of detecting BLUR halo (compute depths in a new way)

b7dba709 04/21/2017 10:04 AM Leszek Koltunski

Roll back the recent MIPMAP work.

f89f791a 04/19/2017 04:38 PM Leszek Koltunski

Preliminary support for MIPMAP levels of the postprocessing buffers. (doesn't work yet)

ed5bf324 03/31/2017 11:52 AM Leszek Koltunski

Merging blurred surfaces mostly ok now (blurred image still appears a bit shifted down for some reason)

1cbf4103 03/29/2017 12:55 PM Leszek Koltunski

Simplify shaders.

94f6d472 03/29/2017 11:05 AM Leszek Koltunski

Make it more flexible; now it can run almost all apps on OpenGL 2.0 contexts; OpenGL 3.0 ( with GLSL 3.00) required for POSTPROCESSING.

f2367b75 03/28/2017 12:26 PM Leszek Koltunski

Upgrade from GLSL 1.00 to GLSL 3.00 ES
Introduce separate BLUR1 and BLUR2 shaders, the second one marging (writing to gl_FragDepth still does not work)