Project

General

Profile

« Previous | Next » 

Revision 380162cb

Added by Leszek Koltunski over 3 years ago

Progress with RubikDino.

View differences:

src/main/java/org/distorted/objects/RubikObject.java
494 494
    boolean belongs;
495 495
    final float ratio = 1.0f/(NUM_FACES+1);
496 496

  
497
    if( 3*ROTATION_AXIS.length == 2*NUM_FACES ) // Dino
498
      {
499
      final Static4D[] maps = new Static4D[NUM_CUBITS*NUM_CUBIT_FACES];
500

  
501
      final int[] map = {2,4, 4,0, 3,4, 4,1,
502
                         0,2, 0,3, 1,3, 1,2,
503
                         2,5, 5,0, 3,5, 5,1 };
504

  
505
      for(int i=0; i<NUM_CUBITS; i++)
506
        {
507
        maps[NUM_CUBIT_FACES*i    ] = new Static4D( map[2*i  ]*ratio, 0.0f, ratio, 1.0f);
508
        maps[NUM_CUBIT_FACES*i + 1] = new Static4D( map[2*i+1]*ratio, 0.0f, ratio, 1.0f);
509
        maps[NUM_CUBIT_FACES*i + 2] = new Static4D( NUM_FACES *ratio, 0.0f, ratio, 1.0f);
510
        maps[NUM_CUBIT_FACES*i + 3] = new Static4D( NUM_FACES *ratio, 0.0f, ratio, 1.0f);
511
        }
512

  
513
      mMesh.setTextureMap(maps,0);
514
      return;
515
      }
516

  
517

  
497 518
    for(int cubit=0; cubit<NUM_CUBITS; cubit++)
498 519
      {
499 520
      final Static4D[] maps = new Static4D[NUM_CUBIT_FACES];
......
514 535
          maps[i] = new Static4D( (belongs?i:NUM_FACES)*ratio, 0.0f, ratio, 1.0f);
515 536
          }
516 537
        }
517
      else if( 3*ROTATION_AXIS.length == 2*NUM_FACES ) // Dino  TODO
518
        {
519
        for(int i=0; i<NUM_CUBIT_FACES; i++)
520
          {
521
          belongs = true;//isOnFace(cubit, i, 0 );
522
          maps[i] = new Static4D( (belongs?i:NUM_FACES)*ratio, 0.0f, ratio, 1.0f);
523
          }
524
        }
525 538

  
526 539
      mMesh.setTextureMap(maps,NUM_CUBIT_FACES*cubit);
527 540
      }

Also available in: Unified diff