Project

General

Profile

« Previous | Next » 

Revision 18231014

Added by Leszek Koltunski about 4 years ago

Convert Projection to not use the depreciated MeshBase.setStretch() API.

View differences:

src/main/java/org/distorted/examples/projection/ProjectionRenderer.java
22 22
import javax.microedition.khronos.egl.EGLConfig;
23 23
import javax.microedition.khronos.opengles.GL10;
24 24

  
25
import org.distorted.library.effect.MatrixEffectScale;
25 26
import org.distorted.library.effect.VertexEffectDeform;
26 27
import org.distorted.library.main.DistortedLibrary;
27 28
import org.distorted.library.main.DistortedEffects;
......
47 48
   private MeshRectangles mMesh;
48 49
   private DistortedTexture mTexture;
49 50
   private float mF, mNear;
50

  
51
   private Static3D mVector, mPoint1, mPoint2, mPoint3, mPoint4;
52
   private Static4D mRegion;
51
   private Static3D mScale;
53 52

  
54 53
///////////////////////////////////////////////////////////////////////////////////////////////////
55 54

  
......
59 58
      mEffects= new DistortedEffects();
60 59
      mScreen = new DistortedScreen();
61 60

  
62
      mVector = new Static3D(0,0,0);
63
      mPoint1 = new Static3D(0,0,0);
64
      mPoint2 = new Static3D(0,0,0);
65
      mPoint3 = new Static3D(0,0,0);
66
      mPoint4 = new Static3D(0,0,0);
67
      mRegion = new Static4D(0,0,0,0);
68

  
69
      mEffects.apply( new VertexEffectDeform(mVector, mPoint1, mRegion) );
70
      mEffects.apply( new VertexEffectDeform(mVector, mPoint2, mRegion) );
71
      mEffects.apply( new VertexEffectDeform(mVector, mPoint3, mRegion) );
72
      mEffects.apply( new VertexEffectDeform(mVector, mPoint4, mRegion) );
61
      Static3D point1 = new Static3D(  0.25f,   0.25f, 0);
62
      Static3D point2 = new Static3D( -0.25f,   0.25f, 0);
63
      Static3D point3 = new Static3D(  0.25f,  -0.25f, 0);
64
      Static3D point4 = new Static3D( -0.25f,  -0.25f, 0);
65
      Static4D region = new Static4D( 0, 0, 0, 0.25f);
66
      Static3D vector = new Static3D( 0, 0, 0.25f);
67

  
68
      mScale = new Static3D(1,1,1);
69

  
70
      mEffects.apply( new MatrixEffectScale(mScale) );
71

  
72
      mEffects.apply( new VertexEffectDeform(vector, point1, region) );
73
      mEffects.apply( new VertexEffectDeform(vector, point2, region) );
74
      mEffects.apply( new VertexEffectDeform(vector, point3, region) );
75
      mEffects.apply( new VertexEffectDeform(vector, point4, region) );
76

  
77
      mTexture= new DistortedTexture();
73 78
      }
74 79

  
75 80
///////////////////////////////////////////////////////////////////////////////////////////////////
......
120 125
        bmpCanvas.drawRect(                 0, height*i/NUMLINES-1, width             , height*i/NUMLINES+1, paint);
121 126
        }
122 127

  
123
      int min = width<height ? width:height;
124

  
125
      mVector.set(0,0,min/4);
126
      mRegion.set(0,0,0,min/4);
127

  
128
      mPoint1.set(  width/4,   height/4, 0);
129
      mPoint2.set( -width/4,   height/4, 0);
130
      mPoint3.set(  width/4,  -height/4, 0);
131
      mPoint4.set( -width/4,  -height/4, 0);
128
      mScale.set(width,height,width);  // TODO - width in the third scale??
132 129

  
133
      // Avoid memory leaks: delete old texture if it exists (it might if we
134
      // got here after a brief amount of time spent in the background)
135
      if( mTexture!=null ) mTexture.markForDeletion();
136

  
137
      mTexture= new DistortedTexture();
138 130
      mTexture.setTexture(bmp);
139 131

  
140
      // likewise with the Mesh
141 132
      if( mMesh!=null )  mMesh.markForDeletion();
142 133
      mMesh = new MeshRectangles(100,100*height/width);
143
      mMesh.setStretch(width,height,0);
144 134

  
145 135
      mScreen.detachAll();
146 136
      mScreen.attach(mTexture,mEffects,mMesh);

Also available in: Unified diff