From 197a753558c7b8904a601aa7614c501be6ca7e10 Mon Sep 17 00:00:00 2001 From: josua Date: Tue, 15 Dec 2020 15:54:07 +1100 Subject: [PATCH] Made the UI easier to see after post-processing and added a slight "darkness" effect around the corners of the screen --- .classpath | 4 +- src/projectzombie/Main.java | 2 - src/projectzombie/display/DisplayRender.java | 6 +- src/projectzombie/display/DisplayWindow.java | 12 +++ .../mainloop/MainloopHelpers.java | 83 ------------------- src/resources/shader/effectRenderer.fsh | 2 +- 6 files changed, 16 insertions(+), 93 deletions(-) delete mode 100755 src/projectzombie/mainloop/MainloopHelpers.java diff --git a/.classpath b/.classpath index 3697667..25d47d0 100755 --- a/.classpath +++ b/.classpath @@ -6,8 +6,9 @@ - + + @@ -42,6 +43,5 @@ - diff --git a/src/projectzombie/Main.java b/src/projectzombie/Main.java index 58fdaf1..c43ed96 100755 --- a/src/projectzombie/Main.java +++ b/src/projectzombie/Main.java @@ -27,7 +27,6 @@ import projectzombie.init.Tiles; import projectzombie.input.JoystickCallback; import projectzombie.input.KeyCallback; import projectzombie.mainloop.MainloopEventHandler; -import projectzombie.mainloop.MainloopHelpers; import projectzombie.menu.Menu; import projectzombie.menu.MenuMain; import projectzombie.settings.Cheats; @@ -135,7 +134,6 @@ public class Main mainloop.register(EntityEventHandler.ENTITY_EVENT_HANDLER); mainloop.register(ChunkEventHandler.CHUNK_EVENT_HANDLER); mainloop.register(JoystickCallback.JOYSTICK_CALLBACK); - mainloop.register(new MainloopHelpers()); mainloop.register(new KeyCallback()); mainloop.register(new GameTimer()); mainloop.register(new NoSleep()); diff --git a/src/projectzombie/display/DisplayRender.java b/src/projectzombie/display/DisplayRender.java index 1278974..5ed6c2a 100755 --- a/src/projectzombie/display/DisplayRender.java +++ b/src/projectzombie/display/DisplayRender.java @@ -164,9 +164,8 @@ public class DisplayRender } // Set to the players perspective and render - GL33.glUniformMatrix4fv(Main.window.glsl_projection, true, - Camera.camera.projection.getArray()); GL33.glUniform1i(Main.window.glsl_mode, 0); + GL33.glUniformMatrix4fv(Main.window.glsl_projection, true, camera.projection.getArray()); Main.world.render(camera); @@ -175,8 +174,5 @@ public class DisplayRender GL33.glUniform1i(Main.window.glsl_do_lighting, 0); } } - - // Render the user interface - DisplayRenderUI.render(); } } diff --git a/src/projectzombie/display/DisplayWindow.java b/src/projectzombie/display/DisplayWindow.java index 9836552..d0e3ee5 100755 --- a/src/projectzombie/display/DisplayWindow.java +++ b/src/projectzombie/display/DisplayWindow.java @@ -279,6 +279,18 @@ public class DisplayWindow implements IMainloopTask GL33.glBindVertexArray(effect_vao); GL33.glDrawArrays(GL33.GL_TRIANGLES, 0, 6); + environmentRenderer.use(); + DisplayLighting.updateLighting(); + + GL33.glUniform1i(glsl_do_texture, 1); + + // Bind the texture atlas + GL33.glActiveTexture(GL33.GL_TEXTURE0); + Resources.ATLAS.bind(); + + // Render the user interface + DisplayRenderUI.render(); + // Swap the framebuffers and poll events GLFW.glfwSwapBuffers(window); GLFW.glfwPollEvents(); diff --git a/src/projectzombie/mainloop/MainloopHelpers.java b/src/projectzombie/mainloop/MainloopHelpers.java deleted file mode 100755 index d8a0dfc..0000000 --- a/src/projectzombie/mainloop/MainloopHelpers.java +++ /dev/null @@ -1,83 +0,0 @@ -package projectzombie.mainloop; - -import java.util.ArrayList; - -import mainloop.task.IMainloopTask; - -class AsyncTask -{ - int i, max; - MainloopEnd end; - MainloopIterator iterator; - - AsyncTask(int min, int max, MainloopIterator iterator, MainloopEnd end) { - this.i = min; - this.max = max; - this.end = end; - this.iterator = iterator; - } - - void update() { - long start = System.currentTimeMillis(); - - while(i < max && System.currentTimeMillis() - start < 2) { - iterator.iterate(i); - i += 1; - } - - if(i == max) { - end.end(); - i += 1; - } - } - - boolean done() { - return i > max; - } -} - -public class MainloopHelpers implements IMainloopTask -{ - private static ArrayList tasks = new ArrayList(); - - public static void loopAsync(int min, int max, MainloopIterator iterator, MainloopEnd end) { - tasks.add(new AsyncTask(min, max, iterator, end)); - } - - public static void loopSync(int min, int max, MainloopIterator iterator, MainloopEnd end) { - for(int i=min;i 10; - } - - @Override - public boolean MainLoopRepeat() { - return true; - } - - @Override - public void MainLoopUpdate() - { - long start = System.currentTimeMillis(); - - for(int i=0;i start + 5) { - tasks.remove(0); - } - } -} diff --git a/src/resources/shader/effectRenderer.fsh b/src/resources/shader/effectRenderer.fsh index 566d197..d3f0f21 100644 --- a/src/resources/shader/effectRenderer.fsh +++ b/src/resources/shader/effectRenderer.fsh @@ -44,5 +44,5 @@ void main() chill_v = (chill_v < 0.25 ? 0 : 1) * chill; - FragColor = vec4(red_v, 0, 0, red_v) + vec4(0, 0, 0, vortex_v) + vec4(chill_v, chill_v, chill_v, chill_v); + FragColor = vec4(red_v, 0, 0, red_v) + vec4(0, 0, 0, vortex_v) + vec4(chill_v, chill_v, chill_v, chill_v) + vec4(0, 0, 0, 0.125) * distance; } \ No newline at end of file