From 930c342fb65033fd1bf95ef36a6e42d75827d04c Mon Sep 17 00:00:00 2001 From: Anuken Date: Tue, 10 Mar 2020 19:48:38 -0400 Subject: [PATCH] Shader cleanup --- ...a_bloom.fragment.glsl => alpha_bloom.frag} | 0 ...sian.fragment.glsl => alpha_gaussian.frag} | 0 ...old.fragment.glsl => alpha_threshold.frag} | 0 .../{bloom.fragment.glsl => bloom.frag} | 0 .../{blurspace.vertex.glsl => blurspace.vert} | 0 .../{gaussian.fragment.glsl => gaussian.frag} | 0 ...hold.fragment.glsl => maskedtreshold.frag} | 0 ...reenspace.vertex.glsl => screenspace.vert} | 0 ...threshold.fragment.glsl => threshold.frag} | 0 ...ockbuild.fragment.glsl => blockbuild.frag} | 0 .../{default.vertex.glsl => default.vert} | 0 .../shaders/{fog.fragment.glsl => fog.frag} | 0 .../{light.fragment.glsl => light.frag} | 0 .../shaders/{menu.fragment.glsl => menu.frag} | 0 .../{planet.fragment.glsl => planet.frag} | 0 .../{planet.vertex.glsl => planet.vert} | 0 ...anetgrid.fragment.glsl => planetgrid.frag} | 0 ...planetgrid.vertex.glsl => planetgrid.vert} | 0 .../{shadow.fragment.glsl => shadow.frag} | 0 .../{shield.fragment.glsl => shield.frag} | 0 .../shaders/{slag.fragment.glsl => slag.frag} | 0 core/assets/shaders/snow.frag | 48 +++++++++++++++++++ .../shaders/{sun.fragment.glsl => sun.frag} | 0 .../shaders/{sun.vertex.glsl => sun.vert} | 0 .../shaders/{tar.fragment.glsl => tar.frag} | 0 ...unitbuild.fragment.glsl => unitbuild.frag} | 0 .../{water.fragment.glsl => water.frag} | 0 core/src/mindustry/core/Control.java | 1 + core/src/mindustry/core/Renderer.java | 2 + core/src/mindustry/graphics/Shaders.java | 2 +- core/src/mindustry/graphics/SnowFilter.java | 19 ++++++++ .../android/en-US/changelogs/104.5.txt | 4 ++ .../android/en-US/changelogs/29623.txt | 4 ++ gradle.properties | 2 +- 34 files changed, 80 insertions(+), 2 deletions(-) rename core/assets/bloomshaders/{alpha_bloom.fragment.glsl => alpha_bloom.frag} (100%) rename core/assets/bloomshaders/{alpha_gaussian.fragment.glsl => alpha_gaussian.frag} (100%) rename core/assets/bloomshaders/{alpha_threshold.fragment.glsl => alpha_threshold.frag} (100%) rename core/assets/bloomshaders/{bloom.fragment.glsl => bloom.frag} (100%) rename core/assets/bloomshaders/{blurspace.vertex.glsl => blurspace.vert} (100%) rename core/assets/bloomshaders/{gaussian.fragment.glsl => gaussian.frag} (100%) rename core/assets/bloomshaders/{maskedtreshold.fragment.glsl => maskedtreshold.frag} (100%) rename core/assets/bloomshaders/{screenspace.vertex.glsl => screenspace.vert} (100%) rename core/assets/bloomshaders/{threshold.fragment.glsl => threshold.frag} (100%) rename core/assets/shaders/{blockbuild.fragment.glsl => blockbuild.frag} (100%) rename core/assets/shaders/{default.vertex.glsl => default.vert} (100%) rename core/assets/shaders/{fog.fragment.glsl => fog.frag} (100%) rename core/assets/shaders/{light.fragment.glsl => light.frag} (100%) rename core/assets/shaders/{menu.fragment.glsl => menu.frag} (100%) rename core/assets/shaders/{planet.fragment.glsl => planet.frag} (100%) rename core/assets/shaders/{planet.vertex.glsl => planet.vert} (100%) rename core/assets/shaders/{planetgrid.fragment.glsl => planetgrid.frag} (100%) rename core/assets/shaders/{planetgrid.vertex.glsl => planetgrid.vert} (100%) rename core/assets/shaders/{shadow.fragment.glsl => shadow.frag} (100%) rename core/assets/shaders/{shield.fragment.glsl => shield.frag} (100%) rename core/assets/shaders/{slag.fragment.glsl => slag.frag} (100%) create mode 100644 core/assets/shaders/snow.frag rename core/assets/shaders/{sun.fragment.glsl => sun.frag} (100%) rename core/assets/shaders/{sun.vertex.glsl => sun.vert} (100%) rename core/assets/shaders/{tar.fragment.glsl => tar.frag} (100%) rename core/assets/shaders/{unitbuild.fragment.glsl => unitbuild.frag} (100%) rename core/assets/shaders/{water.fragment.glsl => water.frag} (100%) create mode 100644 core/src/mindustry/graphics/SnowFilter.java create mode 100644 fastlane/metadata/android/en-US/changelogs/104.5.txt create mode 100644 fastlane/metadata/android/en-US/changelogs/29623.txt diff --git a/core/assets/bloomshaders/alpha_bloom.fragment.glsl b/core/assets/bloomshaders/alpha_bloom.frag similarity index 100% rename from core/assets/bloomshaders/alpha_bloom.fragment.glsl rename to core/assets/bloomshaders/alpha_bloom.frag diff --git a/core/assets/bloomshaders/alpha_gaussian.fragment.glsl b/core/assets/bloomshaders/alpha_gaussian.frag similarity index 100% rename from core/assets/bloomshaders/alpha_gaussian.fragment.glsl rename to core/assets/bloomshaders/alpha_gaussian.frag diff --git a/core/assets/bloomshaders/alpha_threshold.fragment.glsl b/core/assets/bloomshaders/alpha_threshold.frag similarity index 100% rename from core/assets/bloomshaders/alpha_threshold.fragment.glsl rename to core/assets/bloomshaders/alpha_threshold.frag diff --git a/core/assets/bloomshaders/bloom.fragment.glsl b/core/assets/bloomshaders/bloom.frag similarity index 100% rename from core/assets/bloomshaders/bloom.fragment.glsl rename to core/assets/bloomshaders/bloom.frag diff --git a/core/assets/bloomshaders/blurspace.vertex.glsl b/core/assets/bloomshaders/blurspace.vert similarity index 100% rename from core/assets/bloomshaders/blurspace.vertex.glsl rename to core/assets/bloomshaders/blurspace.vert diff --git a/core/assets/bloomshaders/gaussian.fragment.glsl b/core/assets/bloomshaders/gaussian.frag similarity index 100% rename from core/assets/bloomshaders/gaussian.fragment.glsl rename to core/assets/bloomshaders/gaussian.frag diff --git a/core/assets/bloomshaders/maskedtreshold.fragment.glsl b/core/assets/bloomshaders/maskedtreshold.frag similarity index 100% rename from core/assets/bloomshaders/maskedtreshold.fragment.glsl rename to core/assets/bloomshaders/maskedtreshold.frag diff --git a/core/assets/bloomshaders/screenspace.vertex.glsl b/core/assets/bloomshaders/screenspace.vert similarity index 100% rename from core/assets/bloomshaders/screenspace.vertex.glsl rename to core/assets/bloomshaders/screenspace.vert diff --git a/core/assets/bloomshaders/threshold.fragment.glsl b/core/assets/bloomshaders/threshold.frag similarity index 100% rename from core/assets/bloomshaders/threshold.fragment.glsl rename to core/assets/bloomshaders/threshold.frag diff --git a/core/assets/shaders/blockbuild.fragment.glsl b/core/assets/shaders/blockbuild.frag similarity index 100% rename from core/assets/shaders/blockbuild.fragment.glsl rename to core/assets/shaders/blockbuild.frag diff --git a/core/assets/shaders/default.vertex.glsl b/core/assets/shaders/default.vert similarity index 100% rename from core/assets/shaders/default.vertex.glsl rename to core/assets/shaders/default.vert diff --git a/core/assets/shaders/fog.fragment.glsl b/core/assets/shaders/fog.frag similarity index 100% rename from core/assets/shaders/fog.fragment.glsl rename to core/assets/shaders/fog.frag diff --git a/core/assets/shaders/light.fragment.glsl b/core/assets/shaders/light.frag similarity index 100% rename from core/assets/shaders/light.fragment.glsl rename to core/assets/shaders/light.frag diff --git a/core/assets/shaders/menu.fragment.glsl b/core/assets/shaders/menu.frag similarity index 100% rename from core/assets/shaders/menu.fragment.glsl rename to core/assets/shaders/menu.frag diff --git a/core/assets/shaders/planet.fragment.glsl b/core/assets/shaders/planet.frag similarity index 100% rename from core/assets/shaders/planet.fragment.glsl rename to core/assets/shaders/planet.frag diff --git a/core/assets/shaders/planet.vertex.glsl b/core/assets/shaders/planet.vert similarity index 100% rename from core/assets/shaders/planet.vertex.glsl rename to core/assets/shaders/planet.vert diff --git a/core/assets/shaders/planetgrid.fragment.glsl b/core/assets/shaders/planetgrid.frag similarity index 100% rename from core/assets/shaders/planetgrid.fragment.glsl rename to core/assets/shaders/planetgrid.frag diff --git a/core/assets/shaders/planetgrid.vertex.glsl b/core/assets/shaders/planetgrid.vert similarity index 100% rename from core/assets/shaders/planetgrid.vertex.glsl rename to core/assets/shaders/planetgrid.vert diff --git a/core/assets/shaders/shadow.fragment.glsl b/core/assets/shaders/shadow.frag similarity index 100% rename from core/assets/shaders/shadow.fragment.glsl rename to core/assets/shaders/shadow.frag diff --git a/core/assets/shaders/shield.fragment.glsl b/core/assets/shaders/shield.frag similarity index 100% rename from core/assets/shaders/shield.fragment.glsl rename to core/assets/shaders/shield.frag diff --git a/core/assets/shaders/slag.fragment.glsl b/core/assets/shaders/slag.frag similarity index 100% rename from core/assets/shaders/slag.fragment.glsl rename to core/assets/shaders/slag.frag diff --git a/core/assets/shaders/snow.frag b/core/assets/shaders/snow.frag new file mode 100644 index 0000000000..599fa905b9 --- /dev/null +++ b/core/assets/shaders/snow.frag @@ -0,0 +1,48 @@ +#define LIGHT + +#ifdef LIGHT + #define LAYERS 30. + #define DEPTH .5 + #define WIDTH .3 + #define SPEED .6 + #define SIZE 0.2 +#else + #define LAYERS 200. + #define DEPTH .1 + #define WIDTH .8 + #define SPEED 1.5 + #define SIZE 1.0 +#endif + +varying vec2 v_texCoords; + +uniform vec2 u_pos; +uniform vec2 u_resolution; +uniform float u_time; +uniform sampler2D u_texture0; + +void main(){ + gl_FragColor = texture2D(u_texture0, v_texCoords); + + vec2 uv = (v_texCoords * u_resolution + u_pos) / 1000.0; + const mat3 p = mat3( + 13.3231, 23.5112, 21.7112, + 21.1212, 28.7312, 11.9312, + 21.8112, 14.7212, 61.3934 + ); + float dof = 5.*sin(u_time*.1); + + //TODO this is very slow + for(float i=0.0; i app.post(() -> { + player.add(); if(state.rules.pvp && !net.active()){ try{ net.host(port); diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index d01a484996..29911d307f 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -38,6 +38,8 @@ public class Renderer implements ApplicationListener{ public Renderer(){ camera = new Camera(); Shaders.init(); + + fx.addEffect(new SnowFilter()); } public void shake(float intensity, float duration){ diff --git a/core/src/mindustry/graphics/Shaders.java b/core/src/mindustry/graphics/Shaders.java index 0ee0b3ab69..c6b009c10c 100644 --- a/core/src/mindustry/graphics/Shaders.java +++ b/core/src/mindustry/graphics/Shaders.java @@ -229,7 +229,7 @@ public class Shaders{ public static class LoadShader extends Shader{ public LoadShader(String frag, String vert){ - super(Core.files.internal("shaders/" + vert + ".vertex.glsl"), Core.files.internal("shaders/" + frag + ".fragment.glsl")); + super(Core.files.internal("shaders/" + vert + ".vert"), Core.files.internal("shaders/" + frag + ".frag")); } } } diff --git a/core/src/mindustry/graphics/SnowFilter.java b/core/src/mindustry/graphics/SnowFilter.java new file mode 100644 index 0000000000..3aa72b815e --- /dev/null +++ b/core/src/mindustry/graphics/SnowFilter.java @@ -0,0 +1,19 @@ +package mindustry.graphics; + +import arc.*; +import arc.fx.*; + +public class SnowFilter extends FxFilter{ + + public SnowFilter(){ + super(compileShader(Core.files.internal("shaders/screenspace.vert"), Core.files.internal("shaders/snow.frag"))); + autobind = true; + } + + @Override + public void setParams(){ + shader.setUniformf("u_time", time / 60f); + shader.setUniformf("u_pos", Core.camera.position.x - Core.camera.width / 2, Core.camera.position.y - Core.camera.height / 2); + shader.setUniformf("u_resolution", Core.camera.width, Core.camera.height); + } +} diff --git a/fastlane/metadata/android/en-US/changelogs/104.5.txt b/fastlane/metadata/android/en-US/changelogs/104.5.txt new file mode 100644 index 0000000000..4790ed135d --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/104.5.txt @@ -0,0 +1,4 @@ +- Updated feature suggestion link +- Updated translations +- Fixed modified player name persisting after server is exited +- Added solar power multiplier rule diff --git a/fastlane/metadata/android/en-US/changelogs/29623.txt b/fastlane/metadata/android/en-US/changelogs/29623.txt new file mode 100644 index 0000000000..4790ed135d --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/29623.txt @@ -0,0 +1,4 @@ +- Updated feature suggestion link +- Updated translations +- Fixed modified player name persisting after server is exited +- Added solar power multiplier rule diff --git a/gradle.properties b/gradle.properties index 7b93e94e33..3601eb66f0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=b9e67c0962f933315770d978c8a82b6fe6ec33a1 +archash=d781ecb488d5431692ffa509fa1a1a21a8f8185d