Hi I have this nice shader that I've got working on my Android tablet (it's a Hudl 2). But when I connect my Galaxy S6 and run the exact same sketch, it won't run - showing a 'unfortunately the app has stopped' error.
It's something to do with the shader code - as when I comment out all shader commands in my sketch, it runs fine, but just shows a blank screen obviously.
Here's the sketch
PShader wavelight;
float t =1.0;
void setup() {
//fullScreen(P2D);
size(800, 400, P2D);
////fullScreen(P3D);
//background(0);
//noStroke();
//frameRate(60);
wavelight = loadShader("wavefrag.glsl");
wavelight.set("iResolution", 800, 400);
//wavelight.set("test",10);
}
void draw() {
//wavelight.set("iResolution", 800, 400);
background(0);
shader(wavelight);
wavelight.set("iGlobalTime", t);
beginShape(QUAD);
vertex(0, 0, 0, 0);
vertex(width, 0, 1, 0);
vertex(width, height, 1, 1);
vertex(0, height, 0, 1);
endShape();
t+=0.02;
}
and here's the shader
precision mediump float;
precision mediump int;
uniform ivec2 iResolution;// = ivec2 (800,600);
uniform float iGlobalTime;
// uniform int test;
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = vec2(0.0);
uv.x = fragCoord.x / float(iResolution.x);
uv.y = fragCoord.y / float(iResolution.y);
// uv.x = fragCoord.x / 800.0;
// uv.y = fragCoord.y / 400.0;
//fragCoord.xy / iResolution.xy;
vec4 color = vec4(uv,
0.5f+0.5f*sin(iGlobalTime),
1.0f);
vec4 color2 = vec4(1.0f - ((uv.x + uv.y) / 2.0f),
uv,
1.0f);
vec2 pos = uv*2.0f-1.0f;
color *= abs(1.0f/(sin(pos.y + sin(pos.x + iGlobalTime)*.7)*sin(iGlobalTime*.5)*20.));
color += color2 * abs(1.0f/(sin(pos.y + cos(pos.x*0.5f + iGlobalTime)*.8f)*10.0f));
fragColor = color;
// fragColor = vec4(0.5);
}
void main() {
// float fc = 0.0;
mainImage(gl_FragColor, gl_FragCoord.st);
}
I've pasted the compile log below in case it offers up any clues, many thanks..
[mkdir] Created dir: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin
[echo] org.eclipse.jdt.core.JDTCompilerAdapter
-set-mode-check:
-set-debug-files:
-check-env: Android SDK Tools Revision 25.1.7 Installed at /Users/glenn/Desktop/AmbiArt/modes/AndroidMode/sdk
-setup: [echo] Project Name: WavelightAnd Project Type: Application
-set-debug-mode:
-debug-obfuscation-check:
-pre-build:
-build-setup: Using latest Build Tools: 24.0.0 [echo] Resolving Build Target for WavelightAnd... Project Target: Android 6.0 API level: 23 [echo] ---------- [echo] Creating output directories if needed... [mkdir] Created dir: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res [mkdir] Created dir: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/rsObj [mkdir] Created dir: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/rsLibs [mkdir] Created dir: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/gen [mkdir] Created dir: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/classes [mkdir] Created dir: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/dexedLibs [echo] ---------- [echo] Resolving Dependencies for WavelightAnd... Library dependencies: No Libraries
[echo] ----------
[echo] Building Libraries with 'debug'...
[subant] No sub-builds to iterate on
-code-gen: Merging AndroidManifest files into one. Manifest merger disabled. Using project manifest only. [echo] Handling aidl files... No AIDL files to compile. [echo] ---------- [echo] Handling RenderScript files... [echo] ---------- [echo] Handling Resources... Generating resource IDs... [echo] ---------- [echo] Handling BuildConfig class... Generating BuildConfig class.
-pre-compile:
-compile:
[javac] Compiling 4 source files to /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/classes
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 4) import processing.data.*; ^^^^^^^^^^^^^^^
The import processing.data is never used
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 5) import processing.event.*; ^^^^^^^^^^^^^^^^
The import processing.event is never used
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 8) import java.util.HashMap; ^^^^^^^^^^^^^^^^^
The import java.util.HashMap is never used
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 9) import java.util.ArrayList; ^^^^^^^^^^^^^^^^^^^
The import java.util.ArrayList is never used
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 10) import java.io.File; ^^^^^^^^^^^^
The import java.io.File is never used
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 11) import java.io.BufferedReader; ^^^^^^^^^^^^^^^^^^^^^^
The import java.io.BufferedReader is never used
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 12) import java.io.PrintWriter; ^^^^^^^^^^^^^^^^^^^
The import java.io.PrintWriter is never used
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 13) import java.io.InputStream; ^^^^^^^^^^^^^^^^^^^
The import java.io.InputStream is never used
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 14) import java.io.OutputStream; ^^^^^^^^^^^^^^^^^^^^
The import java.io.OutputStream is never used
- WARNING in /private/var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/src/processing/test/wavelightand/WavelightAnd.java (at line 15) import java.io.IOException; ^^^^^^^^^^^^^^^^^^^
The import java.io.IOException is never used
10 problems (10 warnings)
-post-compile:
-obfuscate:
-dex: input: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/classes input: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/libs/processing-core.jar Pre-Dexing /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/libs/processing-core.jar -> processing-core-0a0bc9b329456db55de7f57883eb70ba.jar Converting compiled files and external libraries into /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/classes.dex... [dx] Merged dex #1 (8 defs/4.6KiB) [dx] Merged dex #2 (160 defs/685.1KiB) [dx] Result is 168 defs/822.5KiB. Took 0.5s
-crunch: [crunch] Crunching PNG Files in source dir: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/res [crunch] To destination dir: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res [crunch] Processing image to cache: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/res/drawable-hdpi/icon.png => /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-hdpi/icon.png [crunch] (processed image to cache entry /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-hdpi/icon.png: 52% size of source) [crunch] Processing image to cache: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/res/drawable-ldpi/icon.png => /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-ldpi/icon.png [crunch] (processed image to cache entry /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-ldpi/icon.png: 0% size of source) [crunch] Processing image to cache: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/res/drawable-xhdpi/icon.png => /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-xhdpi/icon.png [crunch] (processed image to cache entry /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-xhdpi/icon.png: 74% size of source) [crunch] Processing image to cache: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/res/drawable-xxhdpi/icon.png => /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-xxhdpi/icon.png [crunch] (processed image to cache entry /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-xxhdpi/icon.png: 80% size of source) [crunch] Processing image to cache: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/res/drawable-xxxhdpi/icon.png => /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-xxxhdpi/icon.png [crunch] (processed image to cache entry /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable-xxxhdpi/icon.png: 95% size of source) [crunch] Processing image to cache: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/res/drawable/icon.png => /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable/icon.png [crunch] (processed image to cache entry /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/res/drawable/icon.png: 84% size of source) [crunch] Crunched 6 PNG files to update cache
-package-resources: Creating full resource package... [aapt] Warning: AndroidManifest.xml already defines debuggable (in http://schemas.android.com/apk/res/android); using existing value in manifest.
-package: Current build type is different than previous build: forced apkbuilder run. Creating WavelightAnd-debug-unaligned.apk and signing it with a debug key...
-post-package:
-do-debug: Running zip align on final apk... [echo] Debug Package: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/WavelightAnd-debug.apk [propertyfile] Creating new property file: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/build.prop [propertyfile] Updating property file: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/build.prop [propertyfile] Updating property file: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/build.prop [propertyfile] Updating property file: /var/folders/1m/0lm790_17_xcsbjk5wtxs03r0000gn/T/android2114381809080553900sketch/bin/build.prop
-post-build:
debug: