From 909e210fd089d4c8c57feb30787c98befee05c0f Mon Sep 17 00:00:00 2001 From: Chris Gruber Date: Sat, 21 Sep 2019 23:06:02 -0500 Subject: [PATCH 1/6] gitignore ignorables --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e71c77c --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +# ignore editors +.vscode +.idea +*.iml + +# mac ignoreable +.DS_Store + +bin From 1ecb1ffebbf93e34c4c08a690c5ad7da74261413 Mon Sep 17 00:00:00 2001 From: Chris Gruber Date: Sat, 21 Sep 2019 23:14:41 -0500 Subject: [PATCH 2/6] lwjgl 3 required changes --- src/com/thecherno/flappy/Main.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/com/thecherno/flappy/Main.java b/src/com/thecherno/flappy/Main.java index e725f0e..1fe6b77 100644 --- a/src/com/thecherno/flappy/Main.java +++ b/src/com/thecherno/flappy/Main.java @@ -1,14 +1,12 @@ package com.thecherno.flappy; import static org.lwjgl.glfw.GLFW.*; +import static org.lwjgl.opengl.GL.*; import static org.lwjgl.opengl.GL11.*; import static org.lwjgl.opengl.GL13.*; import static org.lwjgl.system.MemoryUtil.*; -import java.nio.ByteBuffer; - -import org.lwjgl.glfw.GLFWvidmode; -import org.lwjgl.opengl.GLContext; +import org.lwjgl.glfw.GLFWVidMode; import com.thecherno.flappy.graphics.Shader; import com.thecherno.flappy.input.Input; @@ -34,7 +32,7 @@ public void start() { } private void init() { - if (glfwInit() != GL_TRUE) { + if (!glfwInit()) { System.err.println("Could not initialize GLFW!"); return; } @@ -46,14 +44,14 @@ private void init() { return; } - ByteBuffer vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor()); - glfwSetWindowPos(window, (GLFWvidmode.width(vidmode) - width) / 2, (GLFWvidmode.height(vidmode) - height) / 2); + GLFWVidMode vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor()); + glfwSetWindowPos(window, (vidmode.width() - width) / 2, (vidmode.height() - height) / 2); glfwSetKeyCallback(window, new Input()); glfwMakeContextCurrent(window); glfwShowWindow(window); - GLContext.createFromCurrent(); + createCapabilities(); glEnable(GL_DEPTH_TEST); glActiveTexture(GL_TEXTURE1); @@ -101,7 +99,7 @@ public void run() { updates = 0; frames = 0; } - if (glfwWindowShouldClose(window) == GL_TRUE) + if (glfwWindowShouldClose(window)) running = false; } From 0e72f7af10c48af2b5c092a580c179060e22e7be Mon Sep 17 00:00:00 2001 From: Chris Gruber Date: Sat, 21 Sep 2019 23:15:29 -0500 Subject: [PATCH 3/6] can't write to an in shader argument --- shaders/pipe.frag | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/shaders/pipe.frag b/shaders/pipe.frag index 815d6a4..5893a68 100644 --- a/shaders/pipe.frag +++ b/shaders/pipe.frag @@ -14,12 +14,16 @@ uniform int top; void main() { + vec2 tc_temp = fs_in.tc; + if (top == 1) - fs_in.tc.y = 1.0 - fs_in.tc.y; + tc_temp = 1.0 - fs_in.tc.y; - color = texture(tex, fs_in.tc); + color = texture(tex, tc_temp); + if (color.w < 1.0) discard; + color *= 2.0 / (length(bird - fs_in.position.xy) + 1.5) + 0.5; color.w = 1.0; } \ No newline at end of file From 7ed2ca26eda2646a341d60f64adcaf6c07566ab8 Mon Sep 17 00:00:00 2001 From: Chris Gruber Date: Sat, 21 Sep 2019 23:27:28 -0500 Subject: [PATCH 4/6] missed a deprecation. glUniformMatrix4fv replaces glUniformMatrix4 --- src/com/thecherno/flappy/graphics/Shader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/thecherno/flappy/graphics/Shader.java b/src/com/thecherno/flappy/graphics/Shader.java index 725fb41..d6b6b28 100644 --- a/src/com/thecherno/flappy/graphics/Shader.java +++ b/src/com/thecherno/flappy/graphics/Shader.java @@ -66,7 +66,7 @@ public void setUniform3f(String name, Vector3f vector) { public void setUniformMat4f(String name, Matrix4f matrix) { if (!enabled) enable(); - glUniformMatrix4(getUniform(name), false, matrix.toFloatBuffer()); + glUniformMatrix4fv(getUniform(name), false, matrix.toFloatBuffer()); } public void enable() { From 7b1d830548347f1cd24e6b2723618e75fc98fc1f Mon Sep 17 00:00:00 2001 From: Chris Gruber Date: Sat, 21 Sep 2019 23:57:06 -0500 Subject: [PATCH 5/6] GLFW_KEY_LAST is the highest value of any named key --- src/com/thecherno/flappy/input/Input.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/com/thecherno/flappy/input/Input.java b/src/com/thecherno/flappy/input/Input.java index d51c1e6..6133e12 100644 --- a/src/com/thecherno/flappy/input/Input.java +++ b/src/com/thecherno/flappy/input/Input.java @@ -3,9 +3,11 @@ import org.lwjgl.glfw.GLFW; import org.lwjgl.glfw.GLFWKeyCallback; +import static org.lwjgl.glfw.GLFW.*; + public class Input extends GLFWKeyCallback { - public static boolean[] keys = new boolean[65536]; + public static boolean[] keys = new boolean[GLFW_KEY_LAST]; public void invoke(long window, int key, int scancode, int action, int mods) { keys[key] = action != GLFW.GLFW_RELEASE; From ffede883088692c77cb87dc84449cfba59634b70 Mon Sep 17 00:00:00 2001 From: Chris Gruber Date: Sun, 22 Sep 2019 00:03:03 -0500 Subject: [PATCH 6/6] fix cast bug in fragment shader I introduced --- shaders/pipe.frag | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shaders/pipe.frag b/shaders/pipe.frag index 5893a68..760699e 100644 --- a/shaders/pipe.frag +++ b/shaders/pipe.frag @@ -17,7 +17,7 @@ void main() vec2 tc_temp = fs_in.tc; if (top == 1) - tc_temp = 1.0 - fs_in.tc.y; + tc_temp.y = 1.0 - fs_in.tc.y; color = texture(tex, tc_temp);