changed vert to the glsl tutorial one

This commit is contained in:
Harrison Deng 2017-07-17 23:52:58 -05:00
parent 686d6c3e9b
commit 97faafa327
7 changed files with 56 additions and 50 deletions

View File

@ -2,7 +2,6 @@
precision mediump float; precision mediump float;
#endif #endif
uniform float time; uniform float time;
uniform vec2 mouse; uniform vec2 mouse;
uniform vec2 resolution; uniform vec2 resolution;

View File

@ -4,9 +4,11 @@ attribute vec2 a_texCoord0;
uniform mat4 u_projTrans; uniform mat4 u_projTrans;
varying vec4 vColor;
varying vec2 vTexCoord; varying vec2 vTexCoord;
void main() {
vTexCoord = a_texCoord0;
void main() {
vColor = a_color;
vTexCoord = a_texCoord0;
gl_Position = u_projTrans * a_position; gl_Position = u_projTrans * a_position;
} }

View File

@ -1,33 +1,37 @@
#ifdef GL_ES
#define LOWP lowp
precision mediump float;
#else
#define LOWP
#endif
varying LOWP vec4 vColor;
varying vec2 vTexCoord;
uniform sampler2D u_texture; uniform sampler2D u_texture;
uniform float resolution;
uniform float radius;
uniform vec2 dir;
uniform vec2 vTexCoord; void main() {
void main()
{
vec4 sum = vec4(0);
vec2 texcoord = vTexCoord;
int j;
int i;
for( i= -4 ;i < 4; i++) vec4 sum = vec4(0.0);
{ vec2 tc = vTexCoord;
for (j = -3; j < 3; j++) float blur = radius/resolution;
{
sum += texture2D(u_texture, texcoord + vec2(j, i)*0.004) * 0.25; float hstep = dir.x;
} float vstep = dir.y;
}
if (texture2D(u_texture, texcoord).r < 0.3) sum += texture2D(u_texture, vec2(tc.x - 4.0*blur*hstep, tc.y - 4.0*blur*vstep)) * 0.05;
{ sum += texture2D(u_texture, vec2(tc.x - 3.0*blur*hstep, tc.y - 3.0*blur*vstep)) * 0.09;
gl_FragColor = sum*sum*0.012 + texture2D(u_texture, texcoord); sum += texture2D(u_texture, vec2(tc.x - 2.0*blur*hstep, tc.y - 2.0*blur*vstep)) * 0.12;
} sum += texture2D(u_texture, vec2(tc.x - 1.0*blur*hstep, tc.y - 1.0*blur*vstep)) * 0.15;
else
{ sum += texture2D(u_texture, vec2(tc.x, tc.y)) * 0.16;
if (texture2D(u_texture, texcoord).r < 0.5)
{ sum += texture2D(u_texture, vec2(tc.x + 1.0*blur*hstep, tc.y + 1.0*blur*vstep)) * 0.15;
gl_FragColor = sum*sum*0.009 + texture2D(u_texture, texcoord); sum += texture2D(u_texture, vec2(tc.x + 2.0*blur*hstep, tc.y + 2.0*blur*vstep)) * 0.12;
} sum += texture2D(u_texture, vec2(tc.x + 3.0*blur*hstep, tc.y + 3.0*blur*vstep)) * 0.09;
else sum += texture2D(u_texture, vec2(tc.x + 4.0*blur*hstep, tc.y + 4.0*blur*vstep)) * 0.05;
{
gl_FragColor = sum*sum*0.0075 + texture2D(u_texture, texcoord); gl_FragColor = vColor * vec4(sum.rgb, 1.0);
}
}
} }

View File

@ -4,9 +4,11 @@ attribute vec2 a_texCoord0;
uniform mat4 u_projTrans; uniform mat4 u_projTrans;
varying vec4 vColor;
varying vec2 vTexCoord; varying vec2 vTexCoord;
void main() {
vTexCoord = a_texCoord0;
void main() {
vColor = a_color;
vTexCoord = a_texCoord0;
gl_Position = u_projTrans * a_position; gl_Position = u_projTrans * a_position;
} }

View File

@ -73,7 +73,7 @@ public class AudioAnalyzer {
UMBinBegin = 200; UMBinBegin = 200;
UMBinEnd = 512; UMBinEnd = 512;
bassThresholdCalcRange = thresholdRangeCalc(0.3f); bassThresholdCalcRange = thresholdRangeCalc(0.28f);
UMThresholdCalcRange = thresholdRangeCalc(0.3f); UMThresholdCalcRange = thresholdRangeCalc(0.3f);
Gdx.app.debug("Read freq", String.valueOf(audioData.getFormat().getSampleRate())); Gdx.app.debug("Read freq", String.valueOf(audioData.getFormat().getSampleRate()));

View File

@ -56,7 +56,7 @@ public class RhythmMapAlgorithm implements Runnable {
map.beginBuild(); map.beginBuild();
for (int index = 0; index < bassPeaks.size; index++) { for (int index = 0; index < bassPeaks.size; index++) {
if (bassPeaks.get(index) != 0 || UMPeaks.get(index) != 0) { if (bassPeaks.get(index) != 0 || UMPeaks.get(index) != 0) {
if (bassPeaks.get(index) >= avgBass*0.9f) { if (bassPeaks.get(index) >= avgBass) {
//TODO basic void circle spawning //TODO basic void circle spawning
float warningTime = map.goBack((int) (windowPerSecond*1.5f))/windowPerSecond; float warningTime = map.goBack((int) (windowPerSecond*1.5f))/windowPerSecond;
float endRadius = (bassPeaks.get(index)/bassMax)*(Polyjet.GAME_AREA_HEIGHT/4f); float endRadius = (bassPeaks.get(index)/bassMax)*(Polyjet.GAME_AREA_HEIGHT/4f);
@ -67,7 +67,6 @@ public class RhythmMapAlgorithm implements Runnable {
endRadius/(avgSPB*0.7f), endRadius/(avgSPB*0.7f),
warningTime warningTime
); );
map.resetIndex(); map.resetIndex();
} }
if (UMPeaks.get(index) >= avgUM) { if (UMPeaks.get(index) >= avgUM) {

View File

@ -31,7 +31,7 @@ public class GamePlayArea extends Stage {
private float yTeleport = Polyjet.GAME_AREA_HEIGHT/2; private float yTeleport = Polyjet.GAME_AREA_HEIGHT/2;
private int score; private int score;
private ShaderProgram invert; private ShaderProgram glowShader;
private ShaderProgram bgShader; private ShaderProgram bgShader;
private Texture background; private Texture background;
@ -60,18 +60,16 @@ public class GamePlayArea extends Stage {
* @param prefs * @param prefs
*/ */
public void loadShaders(Preferences prefs) { public void loadShaders(Preferences prefs) {
if (prefs.getBoolean("invert shader")) { if (prefs.getBoolean("glow shader")) {
Gdx.app.debug("Shader", "using inversion shader"); Gdx.app.debug("Shader", "using glow shader");
invert = new ShaderProgram(Gdx.files.internal("shaders/invert_vert.glsl").readString(), Gdx.files.internal("shaders/invert_frag.glsl").readString()); glowShader = new ShaderProgram(Gdx.files.internal("shaders/glow_vert.glsl").readString(), Gdx.files.internal("shaders/glow_frag.glsl").readString());
ShaderProgram.pedantic = false; if (!glowShader.isCompiled()) {
if (!invert.isCompiled()) { System.err.println(glowShader.getLog());
System.err.println(invert.getLog());
System.exit(0); System.exit(0);
} }
if (invert.getLog().length()!=0) { if (glowShader.getLog().length()!=0) {
System.out.println(invert.getLog()); System.out.println(glowShader.getLog());
} }
getBatch().setShader(invert);
} }
@ -108,9 +106,11 @@ public class GamePlayArea extends Stage {
getBatch().draw(background, 0f, 0f, Polyjet.GAME_AREA_WIDTH, Polyjet.GAME_AREA_HEIGHT); getBatch().draw(background, 0f, 0f, Polyjet.GAME_AREA_WIDTH, Polyjet.GAME_AREA_HEIGHT);
getBatch().end(); getBatch().end();
if (glowShader != null) {
getBatch().setShader(glowShader);
} else {
getBatch().setShader(null); getBatch().setShader(null);
}
super.draw(); super.draw();
} }