commit 3f7a9aec5adbf424c555002294e61a354b851797
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Thu Nov 11 16:22:32 2021 +0100

    Float vertices - scratchbook

diff --git a/src/main/java/org/distorted/examples/meshfile/MeshFileRenderer.java b/src/main/java/org/distorted/examples/meshfile/MeshFileRenderer.java
index 1b05edf..fd4f215 100644
--- a/src/main/java/org/distorted/examples/meshfile/MeshFileRenderer.java
+++ b/src/main/java/org/distorted/examples/meshfile/MeshFileRenderer.java
@@ -289,7 +289,7 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
       {
       int mode            = 5;
       int numComponents   = 0;
-      double[][] vertices = null;
+      float[][] vertices  = null;
       int[][] vertIndexes = null;
       float[][] bands     = null;
       int[] bandIndexes   = null;
@@ -303,16 +303,16 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
 
       if( mode==0 )
         {
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              { 0.5, 0.5, 0.5 },
-              { 0.5, 0.5,-0.5 },
-              { 0.5,-0.5, 0.5 },
-              { 0.5,-0.5,-0.5 },
-              {-0.5, 0.5, 0.5 },
-              {-0.5, 0.5,-0.5 },
-              {-0.5,-0.5, 0.5 },
-              {-0.5,-0.5,-0.5 },
+              { 0.5f, 0.5f, 0.5f },
+              { 0.5f, 0.5f,-0.5f },
+              { 0.5f,-0.5f, 0.5f },
+              { 0.5f,-0.5f,-0.5f },
+              {-0.5f, 0.5f, 0.5f },
+              {-0.5f, 0.5f,-0.5f },
+              {-0.5f,-0.5f, 0.5f },
+              {-0.5f,-0.5f,-0.5f },
           };
 
         vertIndexes = new int[][]
@@ -353,12 +353,12 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
 
       else if( mode==1 )
         {
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              {-0.5, SQ2/4, 0.0},
-              { 0.5, SQ2/4, 0.0},
-              { 0.0,-SQ2/4, 0.5},
-              { 0.0,-SQ2/4,-0.5}
+              {-0.5f, SQ2/4, 0.0f},
+              { 0.5f, SQ2/4, 0.0f},
+              { 0.0f,-SQ2/4, 0.5f},
+              { 0.0f,-SQ2/4,-0.5f}
           };
 
         vertIndexes = new int[][]
@@ -397,12 +397,12 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
 
       else if( mode==2 )
         {
-        vertices = new double[][]
+        vertices = new float[][]
           {
-             {-1.5, 0.0, 0.0},
-             { 1.5, 0.0, 0.0},
-             { 0.0,-1.5, 0.0},
-             { 0.0, 0.0,-1.5}
+             {-1.5f, 0.0f, 0.0f},
+             { 1.5f, 0.0f, 0.0f},
+             { 0.0f,-1.5f, 0.0f},
+             { 0.0f, 0.0f,-1.5f}
           };
 
         vertIndexes = new int[][]
@@ -443,14 +443,14 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
 
       else if( mode==3 )
         {
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              { 0.5,   0.0, 0.5},
-              { 0.5,   0.0,-0.5},
-              {-0.5,   0.0,-0.5},
-              {-0.5,   0.0, 0.5},
-              { 0.0, SQ2/2, 0.0},
-              { 0.0,-SQ2/2, 0.0},
+              { 0.5f,   0.0f, 0.5f},
+              { 0.5f,   0.0f,-0.5f},
+              {-0.5f,   0.0f,-0.5f},
+              {-0.5f,   0.0f, 0.5f},
+              { 0.0f,  SQ2/2, 0.0f},
+              { 0.0f, -SQ2/2, 0.0f},
           };
 
         vertIndexes = new int[][]
@@ -493,25 +493,25 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
 
       else if( mode==4 )
         {
-        double SQ5  = Math.sqrt(5);
-        double SIN18= (SQ5-1)/4;
-        double COS18= 0.25*Math.sqrt(10.0+2.0*SQ5);
-        double H = 1.0;
-        double L = 2.0;
-        double X = H*Math.sqrt((5+SQ5)/10);
-        double Y = H*Math.sqrt((5-SQ5)/10);
-        double D = H*SIN18/COS18;
-
-        vertices = new double[][]
-          {
-              { 0.0,   Y, L/2},
-              {   X, 0.0, L/2},
-              { 0.0,  -Y, L/2},
-              {  -X, 0.0, L/2},
-              { 0.0,  Y, -L/2 +D},
-              {   X, 0.0,-L/2   },
-              { 0.0, -Y, -L/2-D },
-              {  -X, 0.0,-L/2   }
+        float SQ5  = (float)Math.sqrt(5);
+        float SIN18= (SQ5-1)/4;
+        float COS18= 0.25f*(float)Math.sqrt(10.0+2.0*SQ5);
+        float H = 1.0f;
+        float L = 2.0f;
+        float X = H*(float)Math.sqrt((5+SQ5)/10);
+        float Y = H*(float)Math.sqrt((5-SQ5)/10);
+        float D = H*SIN18/COS18;
+
+        vertices = new float[][]
+          {
+              { 0.0f,    Y, L/2},
+              {    X, 0.0f, L/2},
+              { 0.0f,   -Y, L/2},
+              {   -X, 0.0f, L/2},
+              { 0.0f,    Y, -L/2 +D},
+              {    X, 0.0f,-L/2   },
+              { 0.0f,   -Y, -L/2-D },
+              {   -X, 0.0f,-L/2   }
           };
 
         vertIndexes = new int[][]
@@ -555,24 +555,24 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
         {
         int IVY_N = 8;
         final float IVY_D = 0.003f;
-        final double angle = Math.PI/(2*IVY_N);
-        final double CORR  = 1.0 - 2*IVY_D;
+        final float angle = (float)Math.PI/(2*IVY_N);
+        final float CORR  = 1.0f - 2*IVY_D;
 
-        vertices = new double[3*IVY_N+7][3];
+        vertices = new float[3*IVY_N+7][3];
         vertIndexes = new int[6][IVY_N+4];
 
-        vertices[0][0] = 0.0;
-        vertices[0][1] = 0.0;
-        vertices[0][2] = 0.0;
-        vertices[1][0] =-1.0;
-        vertices[1][1] = 0.0;
-        vertices[1][2] = 0.0;
-        vertices[2][0] = 0.0;
-        vertices[2][1] =-1.0;
-        vertices[2][2] = 0.0;
-        vertices[3][0] = 0.0;
-        vertices[3][1] = 0.0;
-        vertices[3][2] =-1.0;
+        vertices[0][0] = 0.0f;
+        vertices[0][1] = 0.0f;
+        vertices[0][2] = 0.0f;
+        vertices[1][0] =-1.0f;
+        vertices[1][1] = 0.0f;
+        vertices[1][2] = 0.0f;
+        vertices[2][0] = 0.0f;
+        vertices[2][1] =-1.0f;
+        vertices[2][2] = 0.0f;
+        vertices[3][0] = 0.0f;
+        vertices[3][1] = 0.0f;
+        vertices[3][2] =-1.0f;
 
         vertIndexes[0][0] = 2;
         vertIndexes[0][1] = 0;
@@ -601,22 +601,22 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
 
         for(int i=0; i<=IVY_N; i++)
           {
-          double cos1 = Math.cos((IVY_N-i)*angle);
-          double sin1 = Math.sin((IVY_N-i)*angle);
-          double cos2 = Math.cos((      i)*angle);
-          double sin2 = Math.sin((      i)*angle);
+          float cos1 = (float)Math.cos((IVY_N-i)*angle);
+          float sin1 = (float)Math.sin((IVY_N-i)*angle);
+          float cos2 = (float)Math.cos((      i)*angle);
+          float sin2 = (float)Math.sin((      i)*angle);
 
-          vertices[N1+i][0] = CORR*(cos1-0.5) - 0.5;
-          vertices[N1+i][1] = CORR*(sin1-0.5) - 0.5;
-          vertices[N1+i][2] = 0.0;
+          vertices[N1+i][0] = CORR*(cos1-0.5f) - 0.5f;
+          vertices[N1+i][1] = CORR*(sin1-0.5f) - 0.5f;
+          vertices[N1+i][2] = 0.0f;
 
-          vertices[N2+i][0] = 0.0;
-          vertices[N2+i][1] = CORR*(sin2-0.5) - 0.5;
-          vertices[N2+i][2] = CORR*(cos2-0.5) - 0.5;
+          vertices[N2+i][0] = 0.0f;
+          vertices[N2+i][1] = CORR*(sin2-0.5f) - 0.5f;
+          vertices[N2+i][2] = CORR*(cos2-0.5f) - 0.5f;
 
-          vertices[N3+i][0] = CORR*(cos2-0.5) - 0.5;
-          vertices[N3+i][1] = 0.0;
-          vertices[N3+i][2] = CORR*(sin2-0.5) - 0.5;
+          vertices[N3+i][0] = CORR*(cos2-0.5f) - 0.5f;
+          vertices[N3+i][1] = 0.0f;
+          vertices[N3+i][2] = CORR*(sin2-0.5f) - 0.5f;
 
           vertIndexes[0][i+3] = N1 + i;
           vertIndexes[1][i+3] = N2 + i;
@@ -671,23 +671,23 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
         {
         int IVY_N = 6;
         final float IVY_D = 0.003f;
-        final double angle = Math.PI/(2*IVY_N);
-        final double CORR  = 1.0 - 2*IVY_D;
+        final float angle = (float)Math.PI/(2*IVY_N);
+        final float CORR  = 1.0f - 2*IVY_D;
 
-        vertices   = new double[2*IVY_N][3];
+        vertices   = new float[2*IVY_N][3];
         vertIndexes= new int[2][2*IVY_N];
 
         for(int i=0; i<IVY_N; i++)
           {
-          double cos = Math.cos(i*angle);
-          double sin = Math.sin(i*angle);
+          float cos = (float)Math.cos(i*angle);
+          float sin = (float)Math.sin(i*angle);
 
-          vertices[i      ][0] = CORR*(0.5-cos);
-          vertices[i      ][1] = CORR*(0.5-sin);
-          vertices[i      ][2] = 0.0;
-          vertices[i+IVY_N][0] = CORR*(cos-0.5);
-          vertices[i+IVY_N][1] = CORR*(sin-0.5);
-          vertices[i+IVY_N][2] = 0.0;
+          vertices[i      ][0] = CORR*(0.5f-cos);
+          vertices[i      ][1] = CORR*(0.5f-sin);
+          vertices[i      ][2] = 0.0f;
+          vertices[i+IVY_N][0] = CORR*(cos-0.5f);
+          vertices[i+IVY_N][1] = CORR*(sin-0.5f);
+          vertices[i+IVY_N][2] = 0.0f;
 
           vertIndexes[0][i      ] = i;
           vertIndexes[0][i+IVY_N] = i+IVY_N;
@@ -734,18 +734,18 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
 
       else if( mode==7 )
         {
-        double S = (SQ5+1)/4;
+        float S = (SQ5+1)/4;
 
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              { 0.0       ,  0.0      , 0.0       },
-              { -0.5*S    , 0.5*S+0.25, -0.25     },
-              {-0.25      , -S/2      , (-2*S-1)/4},
-              { 0.5*S+0.25, 0.25      , -S/2      },
-              { 0.0       , 0.5       , -S-0.5    },
-              { 0.0       , 0.5       , 0.0       },
-              { -0.5*S    ,-0.5*S+0.25, -0.25     },
-              {  0.5*S    ,-0.5*S+0.25, -0.25     }
+              { 0.0f        ,  0.0f       , 0.0f       },
+              { -0.5f*S     , 0.5f*S+0.25f, -0.25f     },
+              {-0.25f       , -S/2        , (-2*S-1)/4 },
+              { 0.5f*S+0.25f, 0.25f       , -S/2       },
+              { 0.0f        , 0.5f        , -S-0.5f    },
+              { 0.0f        , 0.5f        , 0.0f       },
+              { -0.5f*S     ,-0.5f*S+0.25f, -0.25f     },
+              {  0.5f*S     ,-0.5f*S+0.25f, -0.25f     }
           };
 
         vertIndexes = new int[][]
@@ -787,21 +787,21 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
 
       else if( mode==8 )
         {
-        double S = (SQ5+1)/4;
+        float S = (SQ5+1)/4;
 
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              {-S/2     ,-S/2+0.25,     0.25},
-              { S/2     , S/2-0.25,    -0.25},
-              {-S       ,     0.00,     0.00},
-              {     0.25, S/2     ,-S/2-0.25},
-              {-S/2     ,-S/2-0.25,     0.25},
-              { S/2+0.25,    -0.25,-S/2     },
-              {-S       ,    -0.50,     0.00},
-              {     0.50,     0.00,-S       },
-              {-S  +0.25, S/2     ,-S/2-0.25},
-              {     0.25,-S/2-0.50,-S/2+0.25},
-              {-S/2     ,-S/2-0.25,-S  -0.25}
+              {-S/2      ,-S/2+0.25f,     0.25f},
+              { S/2      , S/2-0.25f,    -0.25f},
+              {-S        ,     0.00f,     0.00f},
+              {     0.25f, S/2      ,-S/2-0.25f},
+              {-S/2      ,-S/2-0.25f,     0.25f},
+              { S/2+0.25f,    -0.25f,-S/2      },
+              {-S        ,    -0.50f,     0.00f},
+              {     0.50f,     0.00f,-S        },
+              {-S  +0.25f, S/2      ,-S/2-0.25f},
+              {     0.25f,-S/2-0.50f,-S/2+0.25f},
+              {-S/2      ,-S/2-0.25f,-S  -0.25f}
           };
 
         vertIndexes = new int[][]
@@ -848,16 +848,16 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
         {
         final float X = 3*(2-SQ3)/2;
 
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              { -1.5-X, 0.5, 1.5 },
-              {    0.0, 0.5, 1.5 },
-              {    0.0, 0.5,-1.5 },
-              { -1.5+X, 0.5,-1.5 },
-              { -1.5-X,-0.5, 1.5 },
-              {    0.0,-0.5, 1.5 },
-              {    0.0,-0.5,-1.5 },
-              { -1.5+X,-0.5,-1.5 }
+              { -1.5f-X, 0.5f, 1.5f },
+              {    0.0f, 0.5f, 1.5f },
+              {    0.0f, 0.5f,-1.5f },
+              { -1.5f+X, 0.5f,-1.5f },
+              { -1.5f-X,-0.5f, 1.5f },
+              {    0.0f,-0.5f, 1.5f },
+              {    0.0f,-0.5f,-1.5f },
+              { -1.5f+X,-0.5f,-1.5f }
           };
 
         vertIndexes = new int[][]
@@ -902,14 +902,14 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
         {
         final float X = 3*(2-SQ3)/2;
 
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              { -X, 0.5, 0.0 },
-              { +X, 0.5, 0.0 },
-              {0.0, 0.5,-1.5 },
-              { -X,-0.5, 0.0 },
-              { +X,-0.5, 0.0 },
-              {0.0,-0.5,-1.5 },
+              {  -X, 0.5f, 0.0f },
+              {  +X, 0.5f, 0.0f },
+              {0.0f, 0.5f,-1.5f },
+              {  -X,-0.5f, 0.0f },
+              {  +X,-0.5f, 0.0f },
+              {0.0f,-0.5f,-1.5f },
           };
 
         vertIndexes = new int[][]
@@ -952,16 +952,16 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
         {
         final float X = 3*(2-SQ3)/2;
 
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              { X-1.5, 0.5,  0.0 },
-              {   0.0, 0.5,  0.0 },
-              {   0.0, 0.5,X-1.5 },
-              {  -1.5, 0.5, -1.5 },
-              { X-1.5,-0.5,  0.0 },
-              {   0.0,-0.5,  0.0 },
-              {   0.0,-0.5,X-1.5 },
-              {  -1.5,-0.5, -1.5 }
+              { X-1.5f, 0.5f,  0.0f },
+              {   0.0f, 0.5f,  0.0f },
+              {   0.0f, 0.5f,X-1.5f },
+              {  -1.5f, 0.5f, -1.5f },
+              { X-1.5f,-0.5f,  0.0f },
+              {   0.0f,-0.5f,  0.0f },
+              {   0.0f,-0.5f,X-1.5f },
+              {  -1.5f,-0.5f, -1.5f }
           };
 
         vertIndexes = new int[][]
@@ -1006,14 +1006,14 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
         final float X = 3*(2-SQ3)/2;
         final float Z = 0.75f - X/2;
 
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              { X-1.5+Z, 0.5,  0.0 },
-              {       Z, 0.5,  0.0 },
-              {  -1.5+Z, 0.5, -1.5 },
-              { X-1.5+Z,-0.5,  0.0 },
-              {       Z,-0.5,  0.0 },
-              {  -1.5+Z,-0.5, -1.5 }
+              { X-1.5f+Z, 0.5f,  0.0f },
+              {        Z, 0.5f,  0.0f },
+              {  -1.5f+Z, 0.5f, -1.5f },
+              { X-1.5f+Z,-0.5f,  0.0f },
+              {        Z,-0.5f,  0.0f },
+              {  -1.5f+Z,-0.5f, -1.5f }
           };
 
         vertIndexes = new int[][]
@@ -1054,7 +1054,7 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
 
       else if( mode==13 )
         {
-        vertices = new double[][]
+        vertices = new float[][]
           {
              { 0.0f, 0.0f, 0.0f },
              {-0.5f, 0.5f, 0.5f },
@@ -1114,16 +1114,16 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
         final float Y = F*SQ2/2;
         final float Z =-F/2;
 
-        vertices = new double[][]
+        vertices = new float[][]
           {
-             { 0.0, 0.0, 0.0 },
-             {   X,   Y,   Z },
-             { 0.0, 2*Y, 2*Z },
-             {  -X,   Y,   Z },
-             { 0.0, 0.0,    -F },
-             {   X,   Y,   Z-F },
-             { 0.0, 2*Y, 2*Z-F },
-             {  -X,   Y,   Z-F },
+             { 0.0f, 0.0f,  0.0f },
+             {    X,    Y,     Z },
+             { 0.0f,  2*Y,   2*Z },
+             {   -X,    Y,     Z },
+             { 0.0f, 0.0f,    -F },
+             {    X,    Y,   Z-F },
+             { 0.0f,  2*Y, 2*Z-F },
+             {   -X,    Y,   Z-F },
           };
 
         vertIndexes = new int[][]
@@ -1171,16 +1171,16 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
         final float Y = F*SQ2/2;
         final float Z =-F/2;
 
-        vertices = new double[][]
+        vertices = new float[][]
           {
-             { 0.0, 0.0,     0.5-F },
-             {   X,   Y,   Z+0.5-F },
-             { 0.0, 2*Y, 2*Z+0.5-F },
-             {  -X,   Y,   Z+0.5-F },
-             { 0.0, 0.0,    -0.5+F },
-             {   X,   Y,  -Z-0.5+F },
-             { 0.0, 2*Y,-2*Z-0.5+F },
-             {  -X,   Y,  -Z-0.5+F },
+             { 0.0f, 0.0f,     0.5f-F },
+             {    X,    Y,   Z+0.5f-F },
+             { 0.0f,  2*Y, 2*Z+0.5f-F },
+             {   -X,    Y,   Z+0.5f-F },
+             { 0.0f, 0.0f,    -0.5f+F },
+             {    X,    Y,  -Z-0.5f+F },
+             { 0.0f,  2*Y,-2*Z-0.5f+F },
+             {   -X,    Y,  -Z-0.5f+F },
           };
 
         vertIndexes = new int[][]
@@ -1229,14 +1229,14 @@ class MeshFileRenderer implements GLSurfaceView.Renderer, DistortedLibrary.Excep
         final float Z =-L/2;
         final float D = F/L;
 
-        vertices = new double[][]
+        vertices = new float[][]
           {
-              {    0.0,     -2*Y/3,   -2*Z/3 },
-              {      X,        Y/3,      Z/3 },
-              {     -X,        Y/3,      Z/3 },
-              {    0.0,     -2*Y/3,   -2*Z/3+2*D*Z },
-              {  X-D*X,    Y/3-D*Y,  Z/3+D*Z },
-              { -X+D*X,    Y/3-D*Y,  Z/3+D*Z },
+              {    0.0f,     -2*Y/3,   -2*Z/3 },
+              {       X,        Y/3,      Z/3 },
+              {      -X,        Y/3,      Z/3 },
+              {    0.0f,     -2*Y/3,   -2*Z/3+2*D*Z },
+              {   X-D*X,    Y/3-D*Y,  Z/3+D*Z },
+              {  -X+D*X,    Y/3-D*Y,  Z/3+D*Z },
           };
 
         vertIndexes = new int[][]
