Project

General

Profile

« Previous | Next » 

Revision 55fa2499

Added by Leszek Koltunski over 4 years ago

Speedup for rendering: cubes 2,3 contain better quality cubit faces (more vertices) than cubes 4,5.

View differences:

src/main/java/org/distorted/objects/RubikCube.java
93 93
         new Static4D( -0.5f,   0.5f,   0.5f,   0.5f)
94 94
         };
95 95

  
96
  private static MeshBase mMesh = null;
96
  private static MeshBase mMeshBig = null;
97
  private static MeshBase mMeshSma = null;
97 98

  
98 99
///////////////////////////////////////////////////////////////////////////////////////////////////
99 100

  
......
161 162

  
162 163
  MeshBase createCubitMesh(int cubit)
163 164
    {
164
    if( mMesh==null )
165
    return createCubitMesh(getSize()<=3);
166
    }
167

  
168
///////////////////////////////////////////////////////////////////////////////////////////////////
169

  
170
  MeshBase createCubitMesh(boolean big)
171
    {
172
    MeshBase mesh = big ? mMeshBig : mMeshSma;
173
    int size = big ? 14 : 9;
174

  
175
    if( mesh==null )
165 176
      {
166 177
      final int MESHES=6;
167 178
      int association = 1;
168 179
      MeshBase[] meshes = new MeshRectangles[MESHES];
169
      meshes[0] = new MeshRectangles(14,14);
180
      meshes[0] = new MeshRectangles(size,size);
170 181
      meshes[0].setEffectAssociation(0,association,0);
171 182

  
172 183
      for(int i=1; i<MESHES; i++)
......
176 187
        meshes[i].setEffectAssociation(0,association,0);
177 188
        }
178 189

  
179
      mMesh = new MeshJoined(meshes);
190
      mesh = new MeshJoined(meshes);
180 191

  
181 192
      Static3D axisY   = new Static3D(0,1,0);
182 193
      Static3D axisX   = new Static3D(1,0,0);
......
234 245

  
235 246
      VertexEffectSink   effect14= new VertexEffectSink( new Static1D(1.5f), center, new Static4D(0,0,0,0.72f) );
236 247

  
237
      mMesh.apply(effect0);
238
      mMesh.apply(effect1);
239
      mMesh.apply(effect2);
240
      mMesh.apply(effect3);
241
      mMesh.apply(effect4);
242
      mMesh.apply(effect5);
243
      mMesh.apply(effect6);
244
      mMesh.apply(effect7);
245
      mMesh.apply(effect8);
246
      mMesh.apply(effect9);
247
      mMesh.apply(effect10);
248
      mMesh.apply(effect11);
249
      mMesh.apply(effect12);
250
      mMesh.apply(effect13);
251
      mMesh.apply(effect14);
252

  
253
      mMesh.mergeEffComponents();
248
      mesh.apply(effect0);
249
      mesh.apply(effect1);
250
      mesh.apply(effect2);
251
      mesh.apply(effect3);
252
      mesh.apply(effect4);
253
      mesh.apply(effect5);
254
      mesh.apply(effect6);
255
      mesh.apply(effect7);
256
      mesh.apply(effect8);
257
      mesh.apply(effect9);
258
      mesh.apply(effect10);
259
      mesh.apply(effect11);
260
      mesh.apply(effect12);
261
      mesh.apply(effect13);
262
      mesh.apply(effect14);
263

  
264
      mesh.mergeEffComponents();
254 265
      }
255 266

  
256
    return mMesh.copy(true);
267
    return mesh.copy(true);
257 268
    }
258 269

  
259 270
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff