From 2a794f532ccb774a136e440c8252ae8a9223d3c7 Mon Sep 17 00:00:00 2001 From: Xonk Date: Tue, 13 May 2025 19:05:49 -0400 Subject: [PATCH] fix z-fighting for vanilla emissives and enchant glints --- shaders/dimensions/all_solid.vsh | 7 +++++-- shaders/dimensions/all_vanilla_emissives.fsh | 7 ------- shaders/dimensions/all_vanilla_emissives.vsh | 12 +----------- 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/shaders/dimensions/all_solid.vsh b/shaders/dimensions/all_solid.vsh index b10994b..db03280 100644 --- a/shaders/dimensions/all_solid.vsh +++ b/shaders/dimensions/all_solid.vsh @@ -385,8 +385,11 @@ void main() { #endif position = mat3(gbufferModelView) * worldpos + gbufferModelView[3].xyz; - - gl_Position = toClipSpace3(position); + + // ensure hand/entities have the same transformations as the spidereyes and enchant glint programs. + #if !defined ENTITIES && !defined HAND + gl_Position = toClipSpace3(position); + #endif #endif #if defined Seasons && defined WORLD && !defined ENTITIES && !defined BLOCKENTITIES && !defined HAND diff --git a/shaders/dimensions/all_vanilla_emissives.fsh b/shaders/dimensions/all_vanilla_emissives.fsh index 925a79c..5ef230b 100644 --- a/shaders/dimensions/all_vanilla_emissives.fsh +++ b/shaders/dimensions/all_vanilla_emissives.fsh @@ -7,8 +7,6 @@ uniform sampler2D texture; uniform sampler2D normals; uniform sampler2D noisetex; -flat varying float exposure; - varying vec4 tangent; varying vec4 normalMat; uniform float frameTimeCounter; @@ -69,8 +67,6 @@ void main() { minimumBrightness = 10.0; #endif - // float autoBrightnessAdjust = mix(minimumBrightness, 100.0, clamp(exp(-10.0*exposure),0.0,1.0)); - #ifdef DISABLE_VANILLA_EMISSIVES vec3 emissiveColor = vec3(0.0); Albedo.a = 0.0; @@ -82,7 +78,6 @@ void main() { #endif #ifdef ENCHANT_GLINT - // float autoBrightnessAdjust = mix(0.1, 100.0, clamp(exp(-10.0*exposure),0.0,1.0)); Albedo.rgb = clamp(Albedo.rgb ,0.0,1.0); // for safety @@ -93,8 +88,6 @@ void main() { vec3 GlintColor = Albedo.rgb * Emissive_Brightness; #endif - - gl_FragData[0] = vec4(GlintColor*0.1, dot(Albedo.rgb,vec3(0.333)) * Albedo.a ); #endif } \ No newline at end of file diff --git a/shaders/dimensions/all_vanilla_emissives.vsh b/shaders/dimensions/all_vanilla_emissives.vsh index e6c6073..a0d4c6d 100644 --- a/shaders/dimensions/all_vanilla_emissives.vsh +++ b/shaders/dimensions/all_vanilla_emissives.vsh @@ -34,22 +34,13 @@ vec4 toClipSpace3(vec3 viewSpacePosition) { //////////////////////////////VOID MAIN////////////////////////////// uniform sampler2D colortex4; -flat varying float exposure; void main() { color = gl_Color; texcoord = (gl_TextureMatrix[0] * gl_MultiTexCoord0).st; - #if defined ENCHANT_GLINT || defined SPIDER_EYES || defined BEACON_BEAM - exposure = texelFetch2D(colortex4,ivec2(10,37),0).r; - - vec3 position = mat3(gl_ModelViewMatrix) * vec3(gl_Vertex) + gl_ModelViewMatrix[3].xyz; - gl_Position = toClipSpace3(position); - #else - gl_Position = ftransform(); - #endif - + gl_Position = ftransform(); #ifdef BEACON_BEAM if(gl_Color.a < 1.0) gl_Position = vec4(10,10,10,0); @@ -57,7 +48,6 @@ void main() { #ifdef ENCHANT_GLINT tangent = vec4(normalize(gl_NormalMatrix * at_tangent.rgb), at_tangent.w); - normalMat = vec4(normalize(gl_NormalMatrix * gl_Normal), 1.0); #endif