Revision c25273e0
Added by Leszek Koltunski over 7 years ago
| src/main/java/org/distorted/library/effect/PostprocessEffectBlur.java | ||
|---|---|---|
| 21 | 21 |
|
| 22 | 22 |
import android.opengl.GLES31; |
| 23 | 23 |
|
| 24 |
import org.distorted.library.main.Distorted; |
|
| 24 | 25 |
import org.distorted.library.main.DistortedFramebuffer; |
| 25 | 26 |
import org.distorted.library.main.DistortedOutputSurface; |
| 26 | 27 |
import org.distorted.library.main.DistortedRenderState; |
| ... | ... | |
| 233 | 234 |
{
|
| 234 | 235 |
final String blurVertex = |
| 235 | 236 |
|
| 236 |
"#version 300 es \n"+
|
|
| 237 |
Distorted.GLSL_VERSION +
|
|
| 237 | 238 |
"precision lowp float; \n"+ |
| 238 | 239 |
"in vec2 a_Position; \n"+ |
| 239 | 240 |
"in vec2 a_TexCoord; \n"+ |
| ... | ... | |
| 249 | 250 |
|
| 250 | 251 |
final String blurFragment1 = |
| 251 | 252 |
|
| 252 |
"#version 300 es \n"+
|
|
| 253 |
Distorted.GLSL_VERSION +
|
|
| 253 | 254 |
"#define MAX_BLUR "+MAX_HALO+ "\n"+ |
| 254 | 255 |
"precision lowp float; \n"+ |
| 255 | 256 |
"in vec2 v_TexCoord; \n"+ |
| ... | ... | |
| 272 | 273 |
|
| 273 | 274 |
final String blurFragment2 = |
| 274 | 275 |
|
| 275 |
"#version 300 es \n"+
|
|
| 276 |
Distorted.GLSL_VERSION +
|
|
| 276 | 277 |
"#define MAX_BLUR "+MAX_HALO+ "\n"+ |
| 277 | 278 |
"precision lowp float; \n"+ |
| 278 | 279 |
"in vec2 v_TexCoord; \n"+ |
| src/main/java/org/distorted/library/effect/PostprocessEffectGlow.java | ||
|---|---|---|
| 21 | 21 |
|
| 22 | 22 |
import android.opengl.GLES31; |
| 23 | 23 |
|
| 24 |
import org.distorted.library.main.Distorted; |
|
| 24 | 25 |
import org.distorted.library.main.DistortedEffects; |
| 25 | 26 |
import org.distorted.library.main.DistortedFramebuffer; |
| 26 | 27 |
import org.distorted.library.main.DistortedOutputSurface; |
| ... | ... | |
| 249 | 250 |
{
|
| 250 | 251 |
final String glowVertex = |
| 251 | 252 |
|
| 252 |
"#version 300 es \n"+
|
|
| 253 |
Distorted.GLSL_VERSION +
|
|
| 253 | 254 |
"precision lowp float; \n"+ |
| 254 | 255 |
"in vec2 a_Position; \n"+ |
| 255 | 256 |
"in vec2 a_TexCoord; \n"+ |
| ... | ... | |
| 265 | 266 |
|
| 266 | 267 |
final String glowFragment1 = |
| 267 | 268 |
|
| 268 |
"#version 300 es \n"+
|
|
| 269 |
Distorted.GLSL_VERSION +
|
|
| 269 | 270 |
"#define MAX_BLUR "+MAX_HALO+ "\n"+ |
| 270 | 271 |
"precision lowp float; \n"+ |
| 271 | 272 |
"in vec2 v_TexCoord; \n"+ |
| ... | ... | |
| 289 | 290 |
|
| 290 | 291 |
final String glowFragment2 = |
| 291 | 292 |
|
| 292 |
"#version 300 es \n"+
|
|
| 293 |
Distorted.GLSL_VERSION +
|
|
| 293 | 294 |
"#define MAX_BLUR "+MAX_HALO+ "\n"+ |
| 294 | 295 |
"precision lowp float; \n"+ |
| 295 | 296 |
"in vec2 v_TexCoord; \n"+ |
| src/main/java/org/distorted/library/main/Distorted.java | ||
|---|---|---|
| 35 | 35 |
*/ |
| 36 | 36 |
public class Distorted |
| 37 | 37 |
{
|
| 38 |
static int GLSL;
|
|
| 39 |
static String GLSL_VERSION;
|
|
| 38 |
public static final int GLSL = 310;
|
|
| 39 |
public static final String GLSL_VERSION= "#version 310 es\n";
|
|
| 40 | 40 |
/** |
| 41 | 41 |
* When creating an instance of a DistortedTexture from another instance, clone the Bitmap that's |
| 42 | 42 |
* backing up our DistortedTexture. |
| ... | ... | |
| 128 | 128 |
android.util.Log.e("DISTORTED", "GL Vendor " +GLES31.glGetString(GLES31.GL_VENDOR));
|
| 129 | 129 |
android.util.Log.e("DISTORTED", "GL Renderer " +GLES31.glGetString(GLES31.GL_RENDERER));
|
| 130 | 130 |
*/ |
| 131 |
GLSL = ( (configurationInfo.reqGlEsVersion>>16)>=3 ? 310 : 100 ); |
|
| 132 |
GLSL_VERSION= (GLSL==100 ? "#version 100\n" : "#version 310 es\n"); |
|
| 133 |
|
|
| 134 | 131 |
EffectMessageSender.startSending(); |
| 135 | 132 |
|
| 136 | 133 |
final Resources resources = context.getResources(); |
| 137 |
DistortedEffects.createProgram(resources); |
|
| 134 |
DistortedEffects.createPrograms(resources); |
|
| 135 |
DistortedEffects.createProgramsOIT(resources); |
|
| 138 | 136 |
PostprocessEffect.createPrograms(); |
| 139 | 137 |
|
| 140 | 138 |
mInitialized = true; |
| src/main/java/org/distorted/library/main/DistortedEffects.java | ||
|---|---|---|
| 130 | 130 |
|
| 131 | 131 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 132 | 132 |
|
| 133 |
static void createProgram(Resources resources) |
|
| 133 |
static void createPrograms(Resources resources)
|
|
| 134 | 134 |
{
|
| 135 | 135 |
// MAIN PROGRAM //////////////////////////////////// |
| 136 | 136 |
final InputStream mainVertStream = resources.openRawResource(R.raw.main_vertex_shader); |
| ... | ... | |
| 206 | 206 |
mBlitDepthDepthH = GLES31.glGetUniformLocation( blitDepthProgramH, "u_Depth"); |
| 207 | 207 |
mBlitDepthTexCorrH = GLES31.glGetUniformLocation( blitDepthProgramH, "u_TexCorr"); |
| 208 | 208 |
|
| 209 |
// NORMAL PROGRAM ////////////////////////////////////// |
|
| 210 |
final InputStream normalVertexStream = resources.openRawResource(R.raw.normal_vertex_shader); |
|
| 211 |
final InputStream normalFragmentStream = resources.openRawResource(R.raw.normal_fragment_shader); |
|
| 212 |
|
|
| 213 |
try |
|
| 214 |
{
|
|
| 215 |
mNormalProgram = new DistortedProgram(normalVertexStream,normalFragmentStream, Distorted.GLSL_VERSION, Distorted.GLSL_VERSION, Distorted.GLSL); |
|
| 216 |
} |
|
| 217 |
catch(Exception e) |
|
| 218 |
{
|
|
| 219 |
Log.e("EFFECTS", e.getClass().getSimpleName()+" trying to compile NORMAL program: "+e.getMessage());
|
|
| 220 |
throw new RuntimeException(e.getMessage()); |
|
| 221 |
} |
|
| 222 |
|
|
| 223 |
int normalProgramH = mNormalProgram.getProgramHandle(); |
|
| 224 |
mNormalMVPMatrixH = GLES31.glGetUniformLocation( normalProgramH, "u_MVPMatrix"); |
|
| 225 |
} |
|
| 226 |
|
|
| 227 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 228 |
|
|
| 229 |
static void createProgramsOIT(Resources resources) |
|
| 230 |
{
|
|
| 209 | 231 |
// OIT CLEAR PROGRAM //////////////////////////////////// |
| 210 | 232 |
final InputStream oitClearVertStream = resources.openRawResource(R.raw.oit_vertex_shader); |
| 211 | 233 |
final InputStream oitClearFragStream = resources.openRawResource(R.raw.oit_clear_fragment_shader); |
| ... | ... | |
| 303 | 325 |
mOITRenderDepthH = GLES31.glGetUniformLocation( oitRenderProgramH, "u_Depth"); |
| 304 | 326 |
mOITRenderTexCorrH = GLES31.glGetUniformLocation( oitRenderProgramH, "u_TexCorr"); |
| 305 | 327 |
mOITRenderSizeH = GLES31.glGetUniformLocation( oitRenderProgramH, "u_Size"); |
| 306 |
|
|
| 307 |
// NORMAL PROGRAM ////////////////////////////////////// |
|
| 308 |
final InputStream normalVertexStream = resources.openRawResource(R.raw.normal_vertex_shader); |
|
| 309 |
final InputStream normalFragmentStream = resources.openRawResource(R.raw.normal_fragment_shader); |
|
| 310 |
|
|
| 311 |
try |
|
| 312 |
{
|
|
| 313 |
mNormalProgram = new DistortedProgram(normalVertexStream,normalFragmentStream, Distorted.GLSL_VERSION, Distorted.GLSL_VERSION, Distorted.GLSL); |
|
| 314 |
} |
|
| 315 |
catch(Exception e) |
|
| 316 |
{
|
|
| 317 |
Log.e("EFFECTS", e.getClass().getSimpleName()+" trying to compile NORMAL program: "+e.getMessage());
|
|
| 318 |
throw new RuntimeException(e.getMessage()); |
|
| 319 |
} |
|
| 320 |
|
|
| 321 |
int normalProgramH = mNormalProgram.getProgramHandle(); |
|
| 322 |
mNormalMVPMatrixH = GLES31.glGetUniformLocation( normalProgramH, "u_MVPMatrix"); |
|
| 323 | 328 |
} |
| 324 | 329 |
|
| 325 | 330 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Standarize GLSL version across the whole library.