Project

General

Profile

« Previous | Next » 

Revision 68c69885

Added by Leszek Koltunski about 4 hours ago

  • ID 68c698857a33c47a720eb1dadaa5ad7fc4ee8d74
  • Parent 5e090980

remove the dependency on objectlib

View differences:

build.gradle
29 29
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
30 30
    implementation 'androidx.legacy:legacy-support-v13:1.0.0'
31 31
    implementation 'com.google.android.material:material:1.12.0'
32
    implementation project(path: ':distorted-objectlib')
33 32
}
src/main/java/org/distorted/examples/meshfile/MeshFileActivity.java
50 50
    private int mResource;
51 51
    private final  String[] mNames = new String[]
52 52
                                           { "triangle"   ,
53
                                             "procedural" ,
54 53
                                             "polygon"    ,
55 54
                                             "multigon"   ,
56 55
                                             "deferredjob",
......
202 201
        switch(pos)
203 202
          {
204 203
          case  0: mResource = TRIANGLE         ; break;
205
          case  1: mResource = PROCEDURAL       ; break;
206
          case  2: mResource = POLYGON          ; break;
207
          case  3: mResource = MULTIGON         ; break;
208
          case  4: mResource = R.raw.deferredjob; break;
209
          case  5: mResource = R.raw.meshjoin   ; break;
210
          case  6: mResource = R.raw.predeform  ; break;
211
          case  7: mResource = R.raw.cube2      ; break;
212
          case  8: mResource = R.raw.cube3      ; break;
213
          case  9: mResource = R.raw.cube4      ; break;
214
          case 10: mResource = R.raw.cube5      ; break;
215
          case 11: mResource = R.raw.pyra3      ; break;
216
          case 12: mResource = R.raw.pyra4      ; break;
217
          case 13: mResource = R.raw.pyra5      ; break;
218
          case 14: mResource = R.raw.dino       ; break;
219
          case 15: mResource = R.raw.skewb      ; break;
204
          case  1: mResource = POLYGON          ; break;
205
          case  2: mResource = MULTIGON         ; break;
206
          case  3: mResource = R.raw.deferredjob; break;
207
          case  4: mResource = R.raw.meshjoin   ; break;
208
          case  5: mResource = R.raw.predeform  ; break;
209
          case  6: mResource = R.raw.cube2      ; break;
210
          case  7: mResource = R.raw.cube3      ; break;
211
          case  8: mResource = R.raw.cube4      ; break;
212
          case  9: mResource = R.raw.cube5      ; break;
213
          case 10: mResource = R.raw.pyra3      ; break;
214
          case 11: mResource = R.raw.pyra4      ; break;
215
          case 12: mResource = R.raw.pyra5      ; break;
216
          case 13: mResource = R.raw.dino       ; break;
217
          case 14: mResource = R.raw.skewb      ; break;
220 218
          }
221 219
        }
222 220
      }
src/main/java/org/distorted/examples/meshfile/MeshFileRenderer.java
28 28

  
29 29
import org.distorted.examples.R;
30 30
import org.distorted.library.effect.Effect;
31
import org.distorted.library.effect.EffectName;
32 31
import org.distorted.library.effect.EffectType;
33 32
import org.distorted.library.effect.MatrixEffectQuaternion;
34 33
import org.distorted.library.effect.MatrixEffectScale;
......
46 45
import org.distorted.library.type.Static3D;
47 46
import org.distorted.library.type.Static4D;
48 47

  
49
import org.distorted.objectlib.helpers.FactoryCubit;
50
import org.distorted.objectlib.helpers.ObjectFaceShape;
51
import org.distorted.objectlib.helpers.ObjectShape;
52
import org.distorted.objectlib.helpers.ObjectVertexEffects;
53

  
54 48
import java.io.DataInputStream;
55 49
import java.io.IOException;
56 50
import java.io.InputStream;
......
188 182

  
189 183
      long t1 = System.currentTimeMillis();
190 184

  
191
      if( resourceID==PROCEDURAL )
192
        {
193
        createMesh();
194
        }
195
      else if( resourceID==POLYGON )
185
      if( resourceID==POLYGON )
196 186
        {
197 187
        createPolygon();
198 188
        }
......
412 402
        };
413 403
      }
414 404

  
415
///////////////////////////////////////////////////////////////////////////////////////////////////
416
// String[] names, float[][] variables, float[][] centers, float[][] regions, boolean[] use
417

  
418
    private ObjectVertexEffects createEffects()
419
      {
420
      final float R = 0.7f;
421

  
422
      String[] names = { EffectName.PIPE.name() };
423
      float[][] vars = { {0.3f,0,0,1,2*R} };
424
      float[][] cens = { {-R,R,0} };
425
      float[][] regs = { {0,0,0,0} };
426
      boolean[] use  = { true };
427

  
428
      return new ObjectVertexEffects(names,vars,cens,regs,use);
429
      }
430

  
431
///////////////////////////////////////////////////////////////////////////////////////////////////
432

  
433
    private void createMesh()
434
      {
435
      float[][] vertices = createV();
436
      int[][][] vertIndices = createVI();
437

  
438
      int numFaces = vertIndices.length;
439

  
440
      float h = 0.001f;
441
      int angle = 30;
442
      float R = 0.1f;
443
      float S = 0.5f;
444
      int N   = 6;
445
      int exI = 0;
446
      int exV = 0;
447
      float[][] bands  = { {h,angle,R,S,N,exI,exV} };
448

  
449
      int[] bandIndices= new int[numFaces];
450

  
451
      ObjectShape shape = new ObjectShape(vertices, vertIndices);
452
      ObjectFaceShape face = new ObjectFaceShape(bands, bandIndices, null);
453
      ObjectVertexEffects effects = createEffects();
454
      FactoryCubit factory = FactoryCubit.getInstance();
455
      factory.clear();
456
      factory.createNewFaceTransform(shape);
457
      mMesh = factory.createRoundedSolid(shape,face,effects,numFaces);
458

  
459
      int numEff = mMesh.getNumEffComponents();
460
      for(int i=0; i<numEff; i++) mMesh.setEffectAssociation(i, 0, i);
461
      }
462

  
463 405
///////////////////////////////////////////////////////////////////////////////////////////////////
464 406

  
465 407
    private void openMesh(int resourceID)
......
527 469
      return mMesh.getLastVertexEff(component);
528 470
      }
529 471

  
530
///////////////////////////////////////////////////////////////////////////////////////////////////
531

  
532
    int getEndTexIndex(int component)
533
      {
534
      return mMesh.getLastVertexTex(component);
535
      }
536

  
537 472
///////////////////////////////////////////////////////////////////////////////////////////////////
538 473

  
539 474
    int getEffComponentNum()
......
541 476
      return mMesh.getNumEffComponents();
542 477
      }
543 478

  
544
///////////////////////////////////////////////////////////////////////////////////////////////////
545

  
546
    int getTexComponentNum()
547
      {
548
      return mMesh.getNumTexComponents();
549
      }
550

  
551 479
///////////////////////////////////////////////////////////////////////////////////////////////////
552 480

  
553 481
    public void distortedException(Exception ex)

Also available in: Unified diff