Project

General

Profile

« Previous | Next » 

Revision bfe2c61b

Added by Leszek Koltunski over 7 years ago

Blurred image visible now!

View differences:

src/main/java/org/distorted/library/EffectQueuePostprocess.java
20 20
package org.distorted.library;
21 21

  
22 22
import android.opengl.GLES20;
23
import android.opengl.Matrix;
23 24

  
24 25
import org.distorted.library.message.EffectMessage;
25 26
import org.distorted.library.type.Data1D;
......
41 42
  private static int mTypeH;
42 43
  private static int mUniformsH;
43 44
  private static int mObjDH;
45
  private static int mMVPMatrixH;
46

  
47
  private static float[] mMVPMatrix = new float[16];
48
  private static float[] mTmpMatrix = new float[16];
44 49

  
45 50
///////////////////////////////////////////////////////////////////////////////////////////////////
46 51

  
......
57 62
    mTypeH      = GLES20.glGetUniformLocation( mProgramH, "pType");
58 63
    mUniformsH  = GLES20.glGetUniformLocation( mProgramH, "pUniforms");
59 64
    mObjDH      = GLES20.glGetUniformLocation( mProgramH, "u_objD");
65
    mMVPMatrixH = GLES20.glGetUniformLocation(mProgramH, "u_MVPMatrix");
60 66
    }
61 67

  
62 68
///////////////////////////////////////////////////////////////////////////////////////////////////
......
109 115

  
110 116
///////////////////////////////////////////////////////////////////////////////////////////////////
111 117

  
112
  synchronized void send(float halfX, float halfY)
118
  synchronized void send(DistortedFramebuffer df, float halfX, float halfY)
113 119
    {
120
    Matrix.setIdentityM(mTmpMatrix, 0);
121
    Matrix.translateM(mTmpMatrix, 0, halfX-df.mWidth/2, df.mHeight/2-halfY, -df.mDistance);
122
    Matrix.multiplyMM(mMVPMatrix, 0, df.mProjectionMatrix, 0, mTmpMatrix, 0);
123

  
114 124
    GLES20.glUniform1i( mNumEffectsH, mNumEffects);
115 125
    GLES20.glUniform2f( mObjDH , halfX, halfY);
126
    GLES20.glUniformMatrix4fv(mMVPMatrixH, 1, false, mMVPMatrix , 0);
116 127

  
117 128
    if( mNumEffects>0 )
118 129
      {
......
123 134

  
124 135
///////////////////////////////////////////////////////////////////////////////////////////////////
125 136

  
126
  synchronized static void sendZero(float halfX, float halfY)
137
  synchronized static void sendZero(DistortedFramebuffer df, float halfX, float halfY)
127 138
    {
139
    Matrix.setIdentityM(mTmpMatrix, 0);
140
    Matrix.translateM(mTmpMatrix, 0, halfX-df.mWidth/2, df.mHeight/2-halfY, -df.mDistance);
141
    Matrix.multiplyMM(mMVPMatrix, 0, df.mProjectionMatrix, 0, mTmpMatrix, 0);
142

  
128 143
    GLES20.glUniform1i( mNumEffectsH, 0);
129 144
    GLES20.glUniform2f( mObjDH , halfX, halfY);
145
    GLES20.glUniformMatrix4fv(mMVPMatrixH, 1, false, mMVPMatrix , 0);
130 146
    }
131 147

  
132 148
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff