Project

General

Profile

« Previous | Next » 

Revision 8a99c681

Added by Leszek Koltunski about 7 years ago

Make a MeshCubes object rendered with no effects have its front wall at the screen's surface (so that when we just replace MeshFlat with MeshCubes, it looks more similar)

View differences:

src/main/java/org/distorted/examples/cubes/CubesRenderer.java
52 52
    private MeshObject mMesh;
53 53
    private DistortedScreen mScreen;
54 54
    private DynamicQuat mQuatInt1, mQuatInt2;
55
    private int mObjWidth, mObjHeight;
55
    private int mObjWidth, mObjHeight, mObjDepth;
56 56

  
57 57
    Static4D mQuat1, mQuat2;
58 58
    int mScreenMin;
......
71 71

  
72 72
      mObjWidth = mTexture.getWidth();
73 73
      mObjHeight= mTexture.getHeight();
74
      mObjDepth = mTexture.getDepth(mMesh);
74 75

  
75 76
      mQuat1 = new Static4D(0,0,0,1);  // unity
76 77
      mQuat2 = new Static4D(0,0,0,1);  // quaternions
......
111 112

  
112 113
      mEffects.move( new Static3D( (width-factor*mObjWidth)/2 , (height-factor*mObjHeight)/2 , 0) );
113 114
      mEffects.scale(factor);
114
      Static3D center = new Static3D( (float)mObjWidth/2, (float)mObjHeight/2, 0.0f );
115
      Static3D center = new Static3D( (float)mObjWidth/2, (float)mObjHeight/2, -(float)mObjDepth/2 );
115 116

  
116 117
      mEffects.quaternion(mQuatInt1, center);
117 118
      mEffects.quaternion(mQuatInt2, center);
src/main/java/org/distorted/examples/effects3d/Effects3DRenderer.java
21 21

  
22 22
import android.graphics.Bitmap;
23 23
import android.graphics.BitmapFactory;
24
import android.opengl.GLES30;
25 24
import android.opengl.GLSurfaceView;
26 25

  
27 26
import org.distorted.examples.R;
......
202 201
      mFactorReg = 2*mFactorObj*act.getRegionR()/regionSize;
203 202
      mRegionScalePoint.set(mFactorReg,mFactorReg,mFactorReg);
204 203

  
205
      Static3D rotateObj = new Static3D(mObjWidth/2,mObjHeight/2, 0);
204
      Static3D rotateObj = new Static3D( (float)mObjWidth/2, (float)mObjHeight/2, -(float)mObjDepth/2 );
206 205

  
207 206
      mObjectEffects.move( new Static3D( (width-mFactorObj*mObjWidth)/2 , (height-mFactorObj*mObjHeight)/2 , 0) );
208 207
      mObjectEffects.scale(mFactorObj);
......
215 214
      mCenterEffects.quaternion(mQuatInt2, rotateCen);
216 215

  
217 216
      mCenterEffects.move( new Static3D( (width -factorCen*centerSize-mFactorObj*mObjWidth )/2 ,
218
                                  (height-factorCen*centerSize-mFactorObj*mObjHeight)/2 , mFactorObj*mObjDepth/2+10) );
217
                                  (height-factorCen*centerSize-mFactorObj*mObjHeight)/2 , 10) );
219 218
      mCenterEffects.move(mCenterInter);
220 219
      mCenterEffects.scale(factorCen);
221 220

  
......
223 222
      mRegionEffects.quaternion(mQuatInt2, rotateCen);
224 223

  
225 224
      mRegionEffects.move( new Static3D( (width -mFactorObj*mObjWidth )/2 ,
226
                                  (height-mFactorObj*mObjHeight)/2 , mFactorObj*mObjDepth/2+12) );
225
                                  (height-mFactorObj*mObjHeight)/2 , 12) );
227 226
      mRegionEffects.move(mCenterInter);
228 227
      mRegionEffects.move(mRegionInter);
229 228
      mRegionEffects.scale(mRegionScaleInter);
src/main/java/org/distorted/examples/multiblur/MultiblurRenderer.java
198 198
      mScreenMin = width<height ? width:height;
199 199

  
200 200
    	float factor    = 0.15f*mScreenMin/OBJ_SIZE;
201
      Static3D center = new Static3D( (float)OBJ_SIZE/2, (float)OBJ_SIZE/2, 0.0f );
201
      Static3D center = new Static3D( (float)OBJ_SIZE/2, (float)OBJ_SIZE/2, -(float)OBJ_SIZE/2 );
202 202
      Static3D moveVec= new Static3D( (width -factor*OBJ_SIZE)/2 ,(height-factor*OBJ_SIZE)/2 ,0);
203 203

  
204 204
      for(int i=0; i<NUM_OBJECTS; i++)
src/main/java/org/distorted/examples/quaternion/QuaternionRenderer.java
31 31
import org.distorted.library.DistortedEffects;
32 32
import org.distorted.library.DistortedScreen;
33 33
import org.distorted.library.EffectTypes;
34
import org.distorted.library.MeshObject;
34 35
import org.distorted.library.type.Dynamic;
35 36
import org.distorted.library.type.DynamicQuat;
36 37
import org.distorted.library.MeshCubes;
......
41 42

  
42 43
import android.graphics.Bitmap;
43 44
import android.graphics.BitmapFactory;
44
import android.opengl.GLES30;
45 45
import android.opengl.GLSurfaceView;
46 46

  
47 47
///////////////////////////////////////////////////////////////////////////////////////////////////
......
53 53
  private GLSurfaceView mView;
54 54
  private DistortedTexture mTexture;
55 55
  private DistortedEffects mEffects;
56
  private MeshObject mMesh;
56 57
  private DistortedScreen mScreen;
57 58
  private DynamicQuat mRot;
58 59
    
......
63 64
    mView    = v;
64 65
    mTexture = new DistortedTexture(1,1);
65 66
    mEffects = new DistortedEffects();
67
    mMesh    = new MeshCubes(1,1,false);
66 68
    mRot     = new DynamicQuat();
67 69

  
68 70
    Random rnd = new Random(System.currentTimeMillis());
......
85 87
    mRot.setMode(Dynamic.MODE_LOOP);
86 88

  
87 89
    mScreen = new DistortedScreen();
88
    mScreen.attach(mTexture,mEffects,new MeshCubes(1,1,false));
90
    mScreen.attach(mTexture,mEffects,mMesh);
89 91
    }
90 92

  
91 93
///////////////////////////////////////////////////////////////////////////////////////////////////
......
99 101
    
100 102
  public void onSurfaceChanged(GL10 glUnused, int width, int height) 
101 103
    {
102
    float scaleFactor = width>height ? height/3:width/3;
104
    float w = mTexture.getWidth();
105
    float h = mTexture.getHeight();
106
    float d = mTexture.getDepth(mMesh);
107

  
108
    float scaleFactor = 0.5f*(width>height ? height/h:width/w);
109
    Static3D center = new Static3D(w/2,h/2,-d/2);
103 110

  
104 111
    mEffects.abortEffects(EffectTypes.MATRIX);
105
    mEffects.move( new Static3D( (width-scaleFactor)/2 , (height-scaleFactor)/2 , 0) );
112
    mEffects.move( new Static3D( (width-scaleFactor*w)/2 , (height-scaleFactor*h)/2 , 0) );
106 113
    mEffects.scale(scaleFactor);
107
    mEffects.quaternion( mRot, new Static3D( (float)mTexture.getWidth()/2, (float)mTexture.getHeight()/2 , 0) );
114
    mEffects.quaternion( mRot,center );
108 115
       
109 116
    mScreen.resize(width, height);
110 117
    }

Also available in: Unified diff