Project

General

Profile

« Previous | Next » 

Revision c31aa527

Added by Leszek Koltunski 11 months ago

add a test for a solid created with a VertexEffectPipe effect for DistortedExamples.

View differences:

build.gradle
1 1
apply plugin: 'com.android.application'
2 2

  
3 3
android {
4
    compileSdkVersion 34
4
    compileSdk 34
5 5

  
6 6
    defaultConfig {
7 7
        applicationId "org.distorted.examples"
......
21 21
}
22 22

  
23 23
dependencies {
24
    api project(':distorted-library-opengl')
24
    api project(':distorted-library')
25 25
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
26 26
    implementation 'androidx.legacy:legacy-support-v13:1.0.0'
27
    implementation 'com.google.android.material:material:1.9.0'
28
    implementation project(path: ':distorted-library-object')
27
    implementation 'com.google.android.material:material:1.11.0'
28
    implementation project(path: ':distorted-objectlib')
29 29
}
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;
31 32
import org.distorted.library.effect.EffectType;
32 33
import org.distorted.library.effect.MatrixEffectQuaternion;
33 34
import org.distorted.library.effect.MatrixEffectScale;
......
48 49
import org.distorted.objectlib.helpers.FactoryCubit;
49 50
import org.distorted.objectlib.helpers.ObjectFaceShape;
50 51
import org.distorted.objectlib.helpers.ObjectShape;
52
import org.distorted.objectlib.helpers.ObjectVertexEffects;
51 53

  
52 54
import java.io.DataInputStream;
53 55
import java.io.IOException;
......
390 392

  
391 393
    private float[][] createV()
392 394
      {
395
      final float X = 0.7f;
396
      final float Y = 0.7f;
397
      final float Z = 1.0f;
398

  
393 399
      return new float[][]
394
              {
395
              {-1.6281155f, -0.2072947f, -3.1770508f },
396
              { 1.2135257f, -1.9635254f, -3.1770515f },
397
              {-0.5427052f, -1.9635254f, -0.33541024f},
398
              {-1.9635254f, -0.7499998f, -1.2135254f },
399
              {-0.75000024f, 1.2135258f, -1.9635254f },
400
              { 1.2135253f,  0.87811553f,-1.4208202f },
401
              {-1.2135255f,  0.4635256f, -0.7499998f },
402
              { 1.2135255f, -1.9635254f, -3.1770515f },
403
              { 2.9697561f, -1.9635254f, -0.33541024f},
404
              { 1.2135255f, -1.9635254f, 0.75f },
405
              { 8.940697E-8f, 1.7881393E-7f, 0.0f },
406
              { 1.2135255f, -0.4635254f, 0.75f },
407
              { 0.0f, 0.0f, 0.0f },
408
              { 1.2135255f, 0.87811553f, -1.4208202f },
409
              { 2.427051f, 0.0f, 0.0f }
410

  
411
              };
400
        {
401
                {-X,-Y,-Z},
402
                {+X,-Y,-Z},
403
                {+X,+Y,-Z},
404
                {-X,-Y,+Z},
405
                {+X,-Y,+Z},
406
                {+X,+Y,+Z},
407
        };
412 408
      }
413 409

  
414 410
///////////////////////////////////////////////////////////////////////////////////////////////////
......
416 412
    private int[][][] createVI()
417 413
      {
418 414
      return new int[][][]
419
              {
420
                {{ 0, 1, 2, 3 }},
421
                {{ 4, 5, 1, 0 }},
422
                {{ 0, 3, 6, 4 }},
423
                {{ 2, 7, 8, 9 }},
424
                {{ 3, 2, 10,6 }, { 2, 9, 11, 12 }},
425
                {{13, 14, 8, 7}},
426
                {{ 6, 10, 5, 4}, { 11, 14, 13, 12}},
427
                {{ 9, 8, 14, 11}}
428
              };
415
        {
416
                {{2,1,0}},
417
                {{3,4,5}},
418
                {{0,3,5,2}},
419
                {{0,1,4,3}},
420
                {{5,4,1,2}}
421
        };
422
      }
423

  
424
///////////////////////////////////////////////////////////////////////////////////////////////////
425
// String[] names, float[][] variables, float[][] centers, float[][] regions, boolean[] use
426

  
427
    private ObjectVertexEffects createEffects()
428
      {
429
      final float R = 0.7f;
430

  
431
      String[] names = { EffectName.PIPE.name() };
432
      float[][] vars = { {0.3f,0,0,1,2*R} };
433
      float[][] cens = { {-R,R,0} };
434
      float[][] regs = { {0,0,0,0} };
435
      boolean[] use  = { true };
436

  
437
      return new ObjectVertexEffects(names,vars,cens,regs,use);
429 438
      }
430 439

  
431 440
///////////////////////////////////////////////////////////////////////////////////////////////////
......
450 459

  
451 460
      ObjectShape shape = new ObjectShape(vertices, vertIndices);
452 461
      ObjectFaceShape face = new ObjectFaceShape(bands, bandIndices, null);
462
      ObjectVertexEffects effects = createEffects();
453 463

  
454 464
      int[] outer = new int[numFaces];
455 465

  
456 466
      FactoryCubit factory = FactoryCubit.getInstance();
457 467
      factory.clear();
458 468
      factory.createNewFaceTransform(shape,outer);
459
      mMesh = factory.createRoundedSolid(shape,face,null,numFaces);
469
      mMesh = factory.createRoundedSolid(shape,face,effects,numFaces);
460 470

  
461 471
      int numEff = mMesh.getNumEffComponents();
462 472
      for(int i=0; i<numEff; i++) mMesh.setEffectAssociation(i, 0, i);

Also available in: Unified diff