Project

General

Profile

« Previous | Next » 

Revision 194ab46f

Added by Leszek Koltunski over 7 years ago

Try using OpenGL ES 3.0 everywhere (but if device does not support it, try creating 2.0 context - this is important because of the emulator!)

View differences:

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

  
22 22
import android.content.res.Resources;
23
import android.opengl.GLES20;
23
import android.opengl.GLES30;
24 24

  
25 25
import org.distorted.library.message.EffectMessage;
26 26
import org.distorted.library.program.DistortedProgram;
......
105 105

  
106 106
  private static void getUniforms(int mProgramH)
107 107
    {
108
    mNumEffectsH= GLES20.glGetUniformLocation( mProgramH, "pNumEffects");
109
    mTypeH      = GLES20.glGetUniformLocation( mProgramH, "pType");
110
    mUniformsH  = GLES20.glGetUniformLocation( mProgramH, "pUniforms");
111
    mObjDH      = GLES20.glGetUniformLocation( mProgramH, "u_objD");
112
    mMVPMatrixH = GLES20.glGetUniformLocation(mProgramH, "u_MVPMatrix");
108
    mNumEffectsH= GLES30.glGetUniformLocation( mProgramH, "pNumEffects");
109
    mTypeH      = GLES30.glGetUniformLocation( mProgramH, "pType");
110
    mUniformsH  = GLES30.glGetUniformLocation( mProgramH, "pUniforms");
111
    mObjDH      = GLES30.glGetUniformLocation( mProgramH, "u_objD");
112
    mMVPMatrixH = GLES30.glGetUniformLocation(mProgramH, "u_MVPMatrix");
113 113
    }
114 114

  
115 115
///////////////////////////////////////////////////////////////////////////////////////////////////
......
160 160

  
161 161
  synchronized static void sendZero(float w, float h, float[] mvp)
162 162
    {
163
    GLES20.glUniform1i( mNumEffectsH, 0);
164
    GLES20.glUniform2f( mObjDH , w, h);
165
    GLES20.glUniformMatrix4fv(mMVPMatrixH, 1, false, mvp , 0);
163
    GLES30.glUniform1i( mNumEffectsH, 0);
164
    GLES30.glUniform2f( mObjDH , w, h);
165
    GLES30.glUniformMatrix4fv(mMVPMatrixH, 1, false, mvp , 0);
166 166
    }
167 167

  
168 168
///////////////////////////////////////////////////////////////////////////////////////////////////
......
174 174
    mProgram.useProgram();
175 175
    df.setAsOutput();
176 176

  
177
    GLES20.glUniform1i( mNumEffectsH, mNumEffects);
178
    GLES20.glUniform2f( mObjDH , w, h );
179
    GLES20.glUniformMatrix4fv(mMVPMatrixH, 1, false, mvp , 0);
177
    GLES30.glUniform1i( mNumEffectsH, mNumEffects);
178
    GLES30.glUniform2f( mObjDH , w, h );
179
    GLES30.glUniformMatrix4fv(mMVPMatrixH, 1, false, mvp , 0);
180 180

  
181 181
    if( mNumEffects>0 )
182 182
      {
183
      GLES20.glUniform1iv( mTypeH    ,                  mNumEffects, mName    ,0);
184
      GLES20.glUniform4fv( mUniformsH, (NUM_UNIFORMS/4)*mNumEffects, mUniforms,0);
183
      GLES30.glUniform1iv( mTypeH    ,                  mNumEffects, mName    ,0);
184
      GLES30.glUniform4fv( mUniformsH, (NUM_UNIFORMS/4)*mNumEffects, mUniforms,0);
185 185
      }
186 186

  
187
    GLES20.glVertexAttribPointer(mProgram.mAttribute[0], POSITION_DATA_SIZE, GLES20.GL_FLOAT, false, 0, mQuadPositions);
188
    GLES20.glVertexAttribPointer(mProgram.mAttribute[1], TEX_DATA_SIZE     , GLES20.GL_FLOAT, false, 0, mQuadTexture);
189
    GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, 0, 4);
187
    GLES30.glVertexAttribPointer(mProgram.mAttribute[0], POSITION_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadPositions);
188
    GLES30.glVertexAttribPointer(mProgram.mAttribute[1], TEX_DATA_SIZE     , GLES30.GL_FLOAT, false, 0, mQuadTexture);
189
    GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4);
190 190
    }
191 191

  
192 192
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff