Project

General

Profile

« Previous | Next » 

Revision e6519ac8

Added by Leszek Koltunski about 6 years ago

Up library requirements to OpenGL ES 3.1 (needed for the upcoming GL_SHADER_STORAGE_BUFFER)

View differences:

src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java
19 19

  
20 20
package org.distorted.library.effect;
21 21

  
22
import android.opengl.GLES30;
22
import android.opengl.GLES31;
23 23

  
24 24
import org.distorted.library.main.DistortedEffects;
25 25
import org.distorted.library.main.DistortedFramebuffer;
......
169 169
    radius = (radius+1)/2;
170 170

  
171 171
    outBuffer.setAsOutput();
172
    GLES30.glViewport(0, 0, (int)w, (int)h);
172
    GLES31.glViewport(0, 0, (int)w, (int)h);
173 173

  
174 174
    // horizontal glow
175 175
    for(int i=0; i<=radius; i++) mOffsets[i] = offsetsCache[offset+i]/w;
......
178 178
    outBuffer.bindForOutput(1);
179 179
    inBuffer.setAsInput(0);
180 180

  
181
    GLES30.glUniform1f ( mProgram1.mUniform[0] , n );
182
    GLES30.glUniform1i ( mProgram1.mUniform[1] , 0 );
183
    GLES30.glUniform1fv( mProgram1.mUniform[2] , radius+1, mOffsets,0);
184
    GLES30.glUniform1fv( mProgram1.mUniform[3] , radius+1, weightsCache,offset);
185
    GLES30.glUniform1i ( mProgram1.mUniform[4] , radius);
186
    GLES30.glUniform4f ( mProgram1.mUniform[5] , uniforms[index+1], uniforms[index+2], uniforms[index+3], uniforms[index+4]);
187
    GLES30.glVertexAttribPointer(mProgram1.mAttribute[0], POS_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadPositions);
188
    GLES30.glVertexAttribPointer(mProgram1.mAttribute[1], TEX_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadTexture);
189
    GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4);
181
    GLES31.glUniform1f ( mProgram1.mUniform[0] , n );
182
    GLES31.glUniform1i ( mProgram1.mUniform[1] , 0 );
183
    GLES31.glUniform1fv( mProgram1.mUniform[2] , radius+1, mOffsets,0);
184
    GLES31.glUniform1fv( mProgram1.mUniform[3] , radius+1, weightsCache,offset);
185
    GLES31.glUniform1i ( mProgram1.mUniform[4] , radius);
186
    GLES31.glUniform4f ( mProgram1.mUniform[5] , uniforms[index+1], uniforms[index+2], uniforms[index+3], uniforms[index+4]);
187
    GLES31.glVertexAttribPointer(mProgram1.mAttribute[0], POS_DATA_SIZE, GLES31.GL_FLOAT, false, 0, mQuadPositions);
188
    GLES31.glVertexAttribPointer(mProgram1.mAttribute[1], TEX_DATA_SIZE, GLES31.GL_FLOAT, false, 0, mQuadTexture);
189
    GLES31.glDrawArrays(GLES31.GL_TRIANGLE_STRIP, 0, 4);
190 190

  
191 191
    // vertical glow
192 192
    for(int i=0; i<=radius; i++) mOffsets[i] = offsetsCache[offset+i]/h;
......
195 195
    outBuffer.bindForOutput(0);
196 196
    outBuffer.setAsInput(1);
197 197

  
198
    GLES30.glUniform1f ( mProgram2.mUniform[0] , n );
199
    GLES30.glUniform1i ( mProgram2.mUniform[1] , 0 );
200
    GLES30.glUniform1fv( mProgram2.mUniform[2] , radius+1, mOffsets,0);
201
    GLES30.glUniform1fv( mProgram2.mUniform[3] , radius+1, weightsCache,offset);
202
    GLES30.glUniform1i ( mProgram2.mUniform[4] , radius);
203
    GLES30.glUniform4f ( mProgram1.mUniform[5] , uniforms[index+1], uniforms[index+2], uniforms[index+3], uniforms[index+4]);
204
    GLES30.glVertexAttribPointer(mProgram2.mAttribute[0], POS_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadPositions);
205
    GLES30.glVertexAttribPointer(mProgram2.mAttribute[1], TEX_DATA_SIZE, GLES30.GL_FLOAT, false, 0, mQuadTexture);
206
    GLES30.glDrawArrays(GLES30.GL_TRIANGLE_STRIP, 0, 4);
198
    GLES31.glUniform1f ( mProgram2.mUniform[0] , n );
199
    GLES31.glUniform1i ( mProgram2.mUniform[1] , 0 );
200
    GLES31.glUniform1fv( mProgram2.mUniform[2] , radius+1, mOffsets,0);
201
    GLES31.glUniform1fv( mProgram2.mUniform[3] , radius+1, weightsCache,offset);
202
    GLES31.glUniform1i ( mProgram2.mUniform[4] , radius);
203
    GLES31.glUniform4f ( mProgram1.mUniform[5] , uniforms[index+1], uniforms[index+2], uniforms[index+3], uniforms[index+4]);
204
    GLES31.glVertexAttribPointer(mProgram2.mAttribute[0], POS_DATA_SIZE, GLES31.GL_FLOAT, false, 0, mQuadPositions);
205
    GLES31.glVertexAttribPointer(mProgram2.mAttribute[1], TEX_DATA_SIZE, GLES31.GL_FLOAT, false, 0, mQuadTexture);
206
    GLES31.glDrawArrays(GLES31.GL_TRIANGLE_STRIP, 0, 4);
207 207

  
208 208
    DistortedRenderState.unuseStencilMark();
209 209

  

Also available in: Unified diff