commit 51e08404f0c97aeaa5b0d3ddd0348eabd290e9be
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Fri Jun 5 21:29:08 2020 +0100

    Progress with SingleMesh (texture maps)

diff --git a/src/main/java/org/distorted/examples/singlemesh/SingleMeshRenderer.java b/src/main/java/org/distorted/examples/singlemesh/SingleMeshRenderer.java
index 4d7bcab..866d161 100644
--- a/src/main/java/org/distorted/examples/singlemesh/SingleMeshRenderer.java
+++ b/src/main/java/org/distorted/examples/singlemesh/SingleMeshRenderer.java
@@ -61,6 +61,28 @@ class SingleMeshRenderer implements GLSurfaceView.Renderer
            0xffff0000, 0xffb5651d    // (front-RED   ) (back  -BROWN)
          };
 
+    private static final int NUM_FACES = FACE_COLORS.length;
+
+    private static final Static4D RIG_MAP = new Static4D(0.0f/(NUM_FACES+1),0.0f,1.0f/(NUM_FACES+1),1.0f);
+    private static final Static4D LEF_MAP = new Static4D(1.0f/(NUM_FACES+1),0.0f,1.0f/(NUM_FACES+1),1.0f);
+    private static final Static4D TOP_MAP = new Static4D(2.0f/(NUM_FACES+1),0.0f,1.0f/(NUM_FACES+1),1.0f);
+    private static final Static4D BOT_MAP = new Static4D(3.0f/(NUM_FACES+1),0.0f,1.0f/(NUM_FACES+1),1.0f);
+    private static final Static4D FRO_MAP = new Static4D(4.0f/(NUM_FACES+1),0.0f,1.0f/(NUM_FACES+1),1.0f);
+    private static final Static4D BAC_MAP = new Static4D(5.0f/(NUM_FACES+1),0.0f,1.0f/(NUM_FACES+1),1.0f);
+    private static final Static4D INT_MAP = new Static4D(6.0f/(NUM_FACES+1),0.0f,1.0f/(NUM_FACES+1),1.0f);
+
+    private static final Static4D[][] TEXTURE_MAP = new Static4D[][]
+         {
+             {  INT_MAP, LEF_MAP, INT_MAP, BOT_MAP, INT_MAP, BAC_MAP },
+             {  INT_MAP, LEF_MAP, INT_MAP, BOT_MAP, FRO_MAP, INT_MAP },
+             {  INT_MAP, LEF_MAP, TOP_MAP, INT_MAP, INT_MAP, BAC_MAP },
+             {  INT_MAP, LEF_MAP, TOP_MAP, INT_MAP, FRO_MAP, INT_MAP },
+             {  RIG_MAP, INT_MAP, INT_MAP, BOT_MAP, INT_MAP, BAC_MAP },
+             {  RIG_MAP, INT_MAP, INT_MAP, BOT_MAP, FRO_MAP, INT_MAP },
+             {  RIG_MAP, INT_MAP, TOP_MAP, INT_MAP, INT_MAP, BAC_MAP },
+             {  RIG_MAP, INT_MAP, TOP_MAP, INT_MAP, FRO_MAP, INT_MAP }
+         };
+
     private static final Static3D[] CUBIT_MOVES = new Static3D[]
          {
            new Static3D(-DIST,-DIST,-DIST),
@@ -321,6 +343,7 @@ class SingleMeshRenderer implements GLSurfaceView.Renderer
       for(int i=0; i<NUM_CUBITS; i++)
         {
         cubits[i].apply( new MatrixEffectMove(CUBIT_MOVES[i]), 1,0);
+        cubits[i].setTextureMap(TEXTURE_MAP[i]);
         }
 
       MeshBase result = new MeshJoined(cubits);
