aboutsummaryrefslogtreecommitdiff
path: root/src/main/resources
diff options
context:
space:
mode:
authormakamys <makamys@outlook.com>2021-05-07 08:42:32 +0200
committermakamys <makamys@outlook.com>2021-05-07 08:42:32 +0200
commitc233ea31da07957d8872d3859d6e75b99937becd (patch)
treeb9d4301b7b503aa466d4af2db8498918f3e6dfee /src/main/resources
parentbc6c84d2d2342073b6f4d1b8c1213b7102bb7ebf (diff)
downloadNeodymium-c233ea31da07957d8872d3859d6e75b99937becd.tar.gz
Neodymium-c233ea31da07957d8872d3859d6e75b99937becd.tar.bz2
Neodymium-c233ea31da07957d8872d3859d6e75b99937becd.zip
Port mod from MCP to Forge!
The only known regression is the sides of LOD=1 chunks look darker for some reason
Diffstat (limited to 'src/main/resources')
-rw-r--r--src/main/resources/META-INF/LODMod_at.cfg2
-rw-r--r--src/main/resources/lodmod.mixin.json9
-rw-r--r--src/main/resources/shaders/chunk.frag61
-rw-r--r--src/main/resources/shaders/chunk.vert34
4 files changed, 104 insertions, 2 deletions
diff --git a/src/main/resources/META-INF/LODMod_at.cfg b/src/main/resources/META-INF/LODMod_at.cfg
new file mode 100644
index 0000000..ff15140
--- /dev/null
+++ b/src/main/resources/META-INF/LODMod_at.cfg
@@ -0,0 +1,2 @@
+public net.minecraft.client.renderer.texture.TextureMap field_94252_e #mapUploadedSprites
+public net.minecraft.client.renderer.Tessellator func_78379_d()V #reset \ No newline at end of file
diff --git a/src/main/resources/lodmod.mixin.json b/src/main/resources/lodmod.mixin.json
index 8ded54d..d8bfed1 100644
--- a/src/main/resources/lodmod.mixin.json
+++ b/src/main/resources/lodmod.mixin.json
@@ -5,8 +5,13 @@
"refmap": "lodmod.mixin.refmap.json",
"compatibilityLevel": "JAVA_8",
"mixins": [
- "MixinSoundManager",
+ "MixinChunkCache",
"MixinEntityRenderer",
- "IRenderGlobal"
+ "MixinMinecraftServer",
+ "MixinRenderGlobal",
+ "MixinSoundManager",
+ "MixinSoundManager",
+ "MixinTessellator",
+ "MixinWorldRenderer"
]
}
diff --git a/src/main/resources/shaders/chunk.frag b/src/main/resources/shaders/chunk.frag
new file mode 100644
index 0000000..ae187cb
--- /dev/null
+++ b/src/main/resources/shaders/chunk.frag
@@ -0,0 +1,61 @@
+#version 330 core
+out vec4 FragColor;
+
+in vec2 TexCoord;
+in vec2 BTexCoord;
+in vec4 DaColor;
+in vec4 Viewport;
+in mat4 ProjInv;
+in vec4 FogColor;
+in vec2 FogStartEnd;
+
+uniform sampler2D atlas;
+uniform sampler2D lightTex;
+
+void main()
+{
+ //FragColor = texture(lightTex, TexCoord);
+ //FragColor = texture(lightTex, vec2(8.0/256.0,8.0/256.0));
+ //FragColor = texture(lightTex, vec2(0, 0));
+ //FragColor = vec4(texture(lightTex, vec2(0, 0)).xyz,1);
+ //FragColor = vec4(BTexCoord.xy / 256, 0, 1);
+ //FragColor = texture(lightTex, (BTexCoord + 8.0) / 256.0);
+ //FragColor = texture(light, vec2(16,16));
+ //FragColor = vec4(1,0,0,1);
+ //FragColor = DaColor/256.0;
+
+ vec4 texColor = texture(atlas, TexCoord);
+ vec4 colorMult = DaColor/256.0;
+
+ vec4 lightyColor = texture(lightTex, (BTexCoord + 8.0) / 256.0);
+ //vec4 lightyMultColor = vec4(lightyColor.x * colorMult.x, lightyColor.y * colorMult.y, lightyColor.z * colorMult.z, lightyColor.w * colorMult.w);
+
+ //FragColor = vec4(texColor.x * colorMult.x, texColor.y * colorMult.y, texColor.z * colorMult.z, texColor.w * colorMult.w);
+ //vec4 texMultColor = texColor * colorMult;
+
+ //FragColor = texMultColor;// + (lightyColor - vec4(0.5,0.5,0.5,0.0));
+ //FragColor = vec4(lightyColor.xyz, 1);
+ //FragColor = ((texColor * colorMult) * lightyColor);
+ vec4 rasterColor = ((texColor * colorMult) * lightyColor);
+ float s = FogStartEnd.x;
+ float e = FogStartEnd.y;
+
+ vec4 ndcPos;
+ ndcPos.xy = ((2.0 * gl_FragCoord.xy) - (2.0 * Viewport.xy)) / (Viewport.zw) - 1;
+ ndcPos.z = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far) /
+ (gl_DepthRange.far - gl_DepthRange.near);
+ ndcPos.w = 1.0;
+
+ vec4 clipPos = ndcPos / gl_FragCoord.w;
+ vec4 eyePos = ProjInv * clipPos;
+
+ float z = length(eyePos);
+ /*
+ if(z < 200){
+ discard;
+ }
+ */
+ float f = (e - z) / (e - s);
+ f = clamp(f, 0, 1);
+ FragColor = mix(FogColor, rasterColor, f);
+} \ No newline at end of file
diff --git a/src/main/resources/shaders/chunk.vert b/src/main/resources/shaders/chunk.vert
new file mode 100644
index 0000000..3f2ad1c
--- /dev/null
+++ b/src/main/resources/shaders/chunk.vert
@@ -0,0 +1,34 @@
+#version 330 core
+layout (location = 0) in vec3 aPos;
+layout (location = 1) in vec2 aTexCoord;
+layout (location = 2) in vec2 aBTexCoord;
+layout (location = 3) in vec4 aDaColor;
+
+uniform mat4 modelView;
+uniform mat4 proj;
+uniform mat4 projInv;
+uniform vec4 viewport;
+uniform vec4 fogColor;
+uniform vec2 fogStartEnd;
+
+uniform vec3 playerPos;
+
+out vec2 TexCoord;
+out vec2 BTexCoord;
+out vec4 DaColor;
+out vec4 Viewport;
+out mat4 ProjInv;
+out vec4 FogColor;
+out vec2 FogStartEnd;
+
+void main()
+{
+ gl_Position = proj * modelView * vec4(aPos - playerPos, 1.0);
+ TexCoord = aTexCoord;
+ BTexCoord = aBTexCoord;
+ DaColor = aDaColor;
+ Viewport = viewport;
+ ProjInv = projInv;
+ FogColor = fogColor;
+ FogStartEnd = fogStartEnd;
+} \ No newline at end of file