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/DistortedTexture.java
21 21

  
22 22
import android.graphics.Bitmap;
23 23
import android.graphics.Matrix;
24
import android.opengl.GLES20;
24
import android.opengl.GLES30;
25 25
import android.opengl.GLUtils;
26 26

  
27 27
import java.util.Iterator;
......
84 84

  
85 85
      if( mTextureDataH[0]==0 )
86 86
        {
87
        GLES20.glGenTextures(1, mTextureDataH, 0);
88
        GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, mTextureDataH[0]);
89
        GLES20.glTexParameteri ( GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MIN_FILTER, GLES20.GL_LINEAR );
90
        GLES20.glTexParameteri ( GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR );
91
        GLES20.glTexParameteri ( GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_S, GLES20.GL_CLAMP_TO_EDGE );
92
        GLES20.glTexParameteri ( GLES20.GL_TEXTURE_2D, GLES20.GL_TEXTURE_WRAP_T, GLES20.GL_CLAMP_TO_EDGE );
93
        GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, flipBitmap(mBmp), 0);
87
        GLES30.glGenTextures(1, mTextureDataH, 0);
88
        GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, mTextureDataH[0]);
89
        GLES30.glTexParameteri ( GLES30.GL_TEXTURE_2D, GLES30.GL_TEXTURE_MIN_FILTER, GLES30.GL_LINEAR );
90
        GLES30.glTexParameteri ( GLES30.GL_TEXTURE_2D, GLES30.GL_TEXTURE_MAG_FILTER, GLES30.GL_LINEAR );
91
        GLES30.glTexParameteri ( GLES30.GL_TEXTURE_2D, GLES30.GL_TEXTURE_WRAP_S, GLES30.GL_CLAMP_TO_EDGE );
92
        GLES30.glTexParameteri ( GLES30.GL_TEXTURE_2D, GLES30.GL_TEXTURE_WRAP_T, GLES30.GL_CLAMP_TO_EDGE );
93
        GLUtils.texImage2D(GLES30.GL_TEXTURE_2D, 0, flipBitmap(mBmp), 0);
94 94
        }
95 95
      else
96 96
        {
97
        GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, mTextureDataH[0]);
98
        GLUtils.texSubImage2D(GLES20.GL_TEXTURE_2D, 0,0,0,flipBitmap(mBmp));
97
        GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, mTextureDataH[0]);
98
        GLUtils.texSubImage2D(GLES30.GL_TEXTURE_2D, 0,0,0,flipBitmap(mBmp));
99 99
        }
100 100

  
101 101
      mBmp = null;
......
111 111
      {
112 112
      //android.util.Log.e("Texture", "deleting "+mID);
113 113

  
114
      GLES20.glDeleteTextures(1, mTextureDataH, 0);
114
      GLES30.glDeleteTextures(1, mTextureDataH, 0);
115 115

  
116 116
      mTextureDataH[0] = 0;
117 117
      mBitmapSet= false;
......
133 133
    {
134 134
    if( mBitmapSet )
135 135
      {
136
      GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, mTextureDataH[0]);
136
      GLES30.glBindTexture(GLES30.GL_TEXTURE_2D, mTextureDataH[0]);
137 137
      return true;
138 138
      }
139 139

  
......
144 144

  
145 145
  static void getUniforms(int mProgramH)
146 146
    {
147
    mTextureH= GLES20.glGetUniformLocation( mProgramH, "u_Texture");
147
    mTextureH= GLES30.glGetUniformLocation( mProgramH, "u_Texture");
148 148

  
149
    GLES20.glActiveTexture(GLES20.GL_TEXTURE0);
150
    GLES20.glUniform1i(mTextureH, 0);
149
    GLES30.glActiveTexture(GLES30.GL_TEXTURE0);
150
    GLES30.glUniform1i(mTextureH, 0);
151 151
    }
152 152

  
153 153
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff