commit 5dfbbda7af2ee6ba37271962ca6efed6fa7eaf9a
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Sun May 31 19:51:11 2020 +0100

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

diff --git a/src/main/java/org/distorted/examples/deferredjob/DeferredJobRenderer.java b/src/main/java/org/distorted/examples/deferredjob/DeferredJobRenderer.java
index 193d386..00eaa96 100644
--- a/src/main/java/org/distorted/examples/deferredjob/DeferredJobRenderer.java
+++ b/src/main/java/org/distorted/examples/deferredjob/DeferredJobRenderer.java
@@ -192,19 +192,42 @@ class DeferredJobRenderer implements GLSurfaceView.Renderer
         meshes[i] = meshes[0].copy(true);
         }
 
-      Static4D[] textureMaps = new Static4D[MESHES];
-      for(int i=0; i<MESHES; i++) textureMaps[i] = new Static4D(i*0.5f,0.0f,0.5f,1.0f);
-      MeshBase result = new MeshJoined(meshes);
-      result.setTextureMap(textureMaps);
+      Static4D[] lTextureMaps = new Static4D[MESHES];
+      Static4D[] rTextureMaps = new Static4D[MESHES];
+
+      for(int i=0; i<MESHES; i++)
+        {
+        lTextureMaps[i] = new Static4D(0.0f,0.0f,0.5f,1.0f);
+        rTextureMaps[i] = new Static4D(0.5f,0.0f,0.5f,1.0f);
+        }
+
+      MeshBase[] tmp = new MeshBase[2];
+
+      tmp[0] = new MeshJoined(meshes);
+      tmp[0].setTextureMap(lTextureMaps);
 
       VertexEffectMove   effect0 = new VertexEffectMove  ( new Static3D(0,0,0.5f) );
       VertexEffectRotate effect1 = new VertexEffectRotate( new Static1D(180), new Static3D(1,0,0), new Static3D(0,0,0) );
 
       effect1.setMeshAssociation(1,0);  // apply only to mesh[1]
 
-      result.apply(effect0);
-      result.apply(effect1);
+      tmp[0].apply(effect0);
+      tmp[0].apply(effect1);
 
-      return result;
+      tmp[1] = tmp[0].copy(true);
+      tmp[1].setTextureMap(rTextureMaps);
+
+      tmp[0].mergeComponents();
+      tmp[1].mergeComponents();
+
+      MeshBase combined = new MeshJoined(tmp);
+
+      VertexEffectMove moveL = new VertexEffectMove  ( new Static3D(-1,0,0) );
+      VertexEffectMove moveR = new VertexEffectMove  ( new Static3D(+1,0,0) );
+
+      moveL.setMeshAssociation(0,0);
+      moveR.setMeshAssociation(1,0);
+
+      return combined;
       }
 }
