Project

General

Profile

Statistics
| Branch: | Revision:

library / src / main / java / org / distorted / library / mesh @ d23592bb

# Date Author Comment
c4d06f90 07/15/2022 01:44 AM Leszek Koltunski

license

51b92d1c 07/02/2022 01:41 PM Leszek Koltunski

fix for a crasher.

35c5f53b 06/18/2022 11:59 PM Leszek Koltunski

A few code improvements.

81433569 04/09/2022 12:59 PM Leszek Koltunski

Fix for an invalid enum.

4ba0d1df 04/09/2022 01:31 AM Leszek Koltunski

New debug to print a whole component of a mesh.

c2032d8c 02/13/2022 03:43 PM Leszek Koltunski

Preparation for drawing only the FRONT side of the cubit walls.

73bcf555 12/16/2021 11:38 PM Leszek Koltunski

Correct the glBufferData's usage argument: in UBO and VBO cases, it should be GL_STATIC_DRAW.

fa640198 10/28/2021 04:48 PM Leszek Koltunski

Add to MeshPolygon a special modee to create a 2-band polygon with dense corners (needed to reduce number of vertices in side faces of the TwisttyPuzzle cubits)

f4a2d97e 10/28/2021 01:06 PM Leszek Koltunski

Add testing of MeshPolygon to the MeshFile app.

06ed13b5 10/08/2021 05:53 PM Leszek Koltunski

New API: set components centers of all components all in one go.

ba70e7c9 10/06/2021 05:54 PM Leszek Koltunski

Mesh creation: finished.

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.

0b732630 08/17/2021 05:30 PM Leszek Koltunski

Convert the Ivy corner cubit to the new, 'universal' cubit creation method.

This forces deep changes to 'createRoundSolid' and the underlying 'MeshPolygon' class to make them support arbitrary Polygon 'centers of face convexity'.

Reason: the faces of this cubit are concave and such default 'center of face convexity' (which by default used to be (0,0)) turned to lie outside the face - which produces strange visual artifacts.

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

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

5413c8cc 04/14/2021 04:00 PM Leszek Koltunski

Convert the first object, the Cube, to the new Cubit-creating engine.

c0477f7f 04/10/2021 05:45 PM Leszek Koltunski

Face cubit creation: progress: rounded corners

2d732361 04/09/2021 03:00 PM Leszek Koltunski

Face cubit creation: progress, a cube renders correctly :)

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

fc3b9f16 03/07/2021 10:53 PM Leszek Koltunski

Correct a comment for Javadoc.

ccb4c899 03/07/2021 10:51 PM Leszek Koltunski

Add new comments for Javadoc.

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

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

2acab35b 01/27/2021 01:56 PM Leszek Koltunski

Progress with Megaminx.

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.

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.

c8484d73 12/11/2020 09:25 PM Leszek Koltunski

Fixes for the Rex Cube (mostly works now)

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!

87a48d8e 10/16/2020 11:23 PM Leszek Koltunski

Improve the Skewb; set max components to 110 in MeshBase so that all of Professor Skewb's components fit.

92403ff8 10/14/2020 08:24 AM Leszek Koltunski

Do not crash if we try to map a texture component out of range.

c92c163c 10/06/2020 10:08 PM Leszek Koltunski

New API for the library: add an empty texture component to a Mesh.
Use this in thr Magic Cube to add empty texture components to some types of cubits.

8b082b9f 09/14/2020 10:10 AM Leszek Koltunski

Comment.

45b08c37 09/13/2020 12:35 AM Leszek Koltunski

Minor.

d456b075 09/08/2020 06:03 PM Leszek Koltunski

Add an extra option to MeshPolygon: making triangles located around the vertices of the polygon smaller.

eeb5d115 08/29/2020 01:25 PM Leszek Koltunski

Progress with MeshPolygon.

ac6a08e7 08/28/2020 02:56 PM Leszek Koltunski

Progress with MeshPolygon.

b948df7a 08/28/2020 12:37 AM Leszek Koltunski

Rename Meshes.

808ef3aa 08/28/2020 12:36 AM Leszek Koltunski

First attempt at new mesh - Polygon. Unfinished (normal vector!), untested

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.

7a9edb92 08/26/2020 12:24 AM Leszek Koltunski

Add component centers to dmesh version 2.

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)

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

Simplify AssociationUniformBlock

6b234228 08/21/2020 11:27 AM Leszek Koltunski

Merge branch 'effects-ubo'

  1. Conflicts:
  2. src/main/java/org/distorted/library/mesh/AssociationUniformBlock.java
b187afac 08/21/2020 12:05 AM Leszek Koltunski

Bugfixes.

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

Introducing UBO to Effect Queues: step 1.

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.

524e4fe7 08/13/2020 10:00 PM Leszek Koltunski

Progress with the MeshFile app.

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

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

9f28e9b6 08/01/2020 09:37 PM Leszek Koltunski

Progress with the Dino.

5fa528a6 07/28/2020 11:14 PM Leszek Koltunski

Correct Inflate vectors in Triangles mesh

1833b0a0 06/15/2020 01:48 PM Leszek Koltunski

Library: introduce a new form of the MeshRectangular grid, where the individual rows and columns can be each of different width. This help reduce the number of vertices in objects as typically we are only interested at distorting a certain subregion.

Modify the Bean app to take advantage of this.

54ce4c6f 06/14/2020 06:30 PM Leszek Koltunski

Progress with the MeshFile app.

5eb4cc34 06/13/2020 08:28 PM Leszek Koltunski

Reading a mesh from the .dmesh file works now.

bc2ab8c5 06/13/2020 02:52 PM Leszek Koltunski

Reading a mesh from the .dmesh file might work now. Checked on two small meshes.

22422a76 06/11/2020 03:03 PM Leszek Koltunski

Initial support for a writing a Mesh to a file and restoring it from a file (new class MeshFile).
Untested!

10836924 06/10/2020 12:24 PM Leszek Koltunski

new app icons; skeleton of reading/write a Mesh from/to a file.

e0343804 06/07/2020 01:41 PM Leszek Koltunski

Bugfix and new debugging methods in MeshBase
DeferredJob app rewritten to show the (just fixed) bug

96877ab4 06/06/2020 11:28 PM Leszek Koltunski

Begin porting RubikCube to the new SingleMesh library. This will make rendering much faster - e.g. in case of Cube 5, instead of 98 renders of individual Cubits, there will be one render of the whole Mesh.

dbe3079d 06/06/2020 09:31 PM Leszek Koltunski

Extend the MeshBase.setTextureMaps API so that we are able to set a single texture map to a single texture component, or a few consecutive at a time, not necessarily starting from component 0.

26671ef8 06/06/2020 12:17 AM Leszek Koltunski

Library: make setEffectAssociation a deferred job (because we do copy the uniforms during join!)
SingleMesh App: almost finished.

f45e4279 06/05/2020 12:34 PM Leszek Koltunski

Progres with SingleMesh; bugfix in MeshBase.apply(Matrix)

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

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

Update Myanmar flag.

1fad573e 06/01/2020 10:40 PM Leszek Koltunski

DeferredJobs app/lib works now

6923706f 05/31/2020 09:31 PM Leszek Koltunski

Progress with DeferredJobs app/lib (still does not work though)

4c68cfd3 05/31/2020 06:51 PM Leszek Koltunski

Progress with DeferredJobs app (proves with the library part does not work :)

a8dfedcc 05/31/2020 05:39 PM Leszek Koltunski

Progress with DeferredJobs (apply, copy, merge & join should be working now - untested)

f4c5a46e 05/30/2020 11:55 PM Leszek Koltunski

1. New icon for PreDeform app
2. Library: advances with DeferredMeshJobs

71d8aba1 05/30/2020 08:07 PM Leszek Koltunski

Bugfix ( Mesh shallow copy wasn't working )

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

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

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.

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.

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.

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)

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.

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

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.

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.

571aa3fa 03/03/2020 11:43 AM Leszek Koltunski

Convert Projection to not use the depreciated MeshBase.setStretch() API.