From 2548c4dc8ad0bf0f657d89042a80ffa8123276fe Mon Sep 17 00:00:00 2001 From: Merlin1809 <88194861+Merlin1809@users.noreply.github.com> Date: Mon, 20 Apr 2026 20:40:56 +0200 Subject: [PATCH] fix lightmap for DH and voxy --- shaders/dimensions/DH_solid.fsh | 13 +++++++++++++ shaders/dimensions/DH_solid.vsh | 3 ++- shaders/dimensions/DH_translucent.vsh | 1 + shaders/dimensions/all_solid.fsh | 13 +++++++++++++ shaders/dimensions/voxy.json | 2 ++ shaders/dimensions/voxy_solid.glsl | 12 ++++++++++++ shaders/lang/en_us.lang | 2 +- shaders/lang/zh_cn.lang | 2 +- shaders/lib/settings.glsl | 2 ++ shaders/shaders.properties | 2 +- shaders/world1/gbuffers_weather.vsh | 2 +- 11 files changed, 49 insertions(+), 5 deletions(-) diff --git a/shaders/dimensions/DH_solid.fsh b/shaders/dimensions/DH_solid.fsh index 0633563..d904af6 100644 --- a/shaders/dimensions/DH_solid.fsh +++ b/shaders/dimensions/DH_solid.fsh @@ -11,6 +11,12 @@ in DATA { flat int dh_material_id; }; +#ifdef VISUALIZE_LIGHTMAP + uniform float viewWidth; + uniform float viewHeight; + #include "/lib/text_rendering.glsl" +#endif + uniform float far; uniform float nightVision; // uniform int hideGUI; @@ -221,6 +227,13 @@ void main() { Albedo.rgb = vec3(0.5); #endif + #ifdef VISUALIZE_LIGHTMAP + beginText(ivec2(gl_FragCoord.xy/vec2(8.0, 8.0)), ivec2(0.45*viewWidth/8.0, 0.7*viewHeight/8.0)); + text.fgCol = vec4(1.0, 0.0, 0.0, 1.0); + printVec2(lightmapCoords); + endText(Albedo.rgb); + #endif + Albedo = clamp(Albedo, 0.0, 1.0); gl_FragData[0] = vec4(encodeVec2(Albedo.x,data1.x), encodeVec2(Albedo.y,data1.y), encodeVec2(Albedo.z,data1.z), encodeVec2(data1.w, materials)); diff --git a/shaders/dimensions/DH_solid.vsh b/shaders/dimensions/DH_solid.vsh index e19e16f..0098203 100644 --- a/shaders/dimensions/DH_solid.vsh +++ b/shaders/dimensions/DH_solid.vsh @@ -94,7 +94,8 @@ void main() { gl_Position.xy += offsets[framemod4_DH] * gl_Position.w*texelSize; #endif - lightmapCoords = (gl_TextureMatrix[1] * gl_MultiTexCoord1).xy; + lightmapCoords = gl_MultiTexCoord1.xy; + lightmapCoords = lightmapCoords / (30.0 / 32.0) - (1.0 / 32.0); gcolor = gl_Color; diff --git a/shaders/dimensions/DH_translucent.vsh b/shaders/dimensions/DH_translucent.vsh index 78a35b3..994c3a1 100644 --- a/shaders/dimensions/DH_translucent.vsh +++ b/shaders/dimensions/DH_translucent.vsh @@ -96,6 +96,7 @@ void main() { gcolor = gl_Color; lightmapCoords = gl_MultiTexCoord1.xy; + lightmapCoords = lightmapCoords / (30.0 / 32.0) - (1.0 / 32.0); #ifdef CUSTOM_MOON_ROTATION vec3 WmoonVec = customMoonVecSSBO; diff --git a/shaders/dimensions/all_solid.fsh b/shaders/dimensions/all_solid.fsh index 0eddfbf..5a35927 100644 --- a/shaders/dimensions/all_solid.fsh +++ b/shaders/dimensions/all_solid.fsh @@ -71,6 +71,12 @@ uniform int framemod8; #include "/lib/res_params.glsl" +#ifdef VISUALIZE_LIGHTMAP + uniform float viewWidth; + uniform float viewHeight; + #include "/lib/text_rendering.glsl" +#endif + uniform float far; @@ -1062,6 +1068,13 @@ void main() { vec4 data1 = clamp(vec4(encodeNormal(normal), PackLightmaps), 0.0, 1.0); + #ifdef VISUALIZE_LIGHTMAP + beginText(ivec2(gl_FragCoord.xy/vec2(8.0, 8.0)), ivec2(0.45*viewWidth/8.0, 0.5*viewHeight/8.0)); + text.fgCol = vec4(1.0, 0.0, 0.0, 1.0); + printVec2(data_in.lmtexcoord.zw); + endText(Albedo.rgb); + #endif + Albedo = clamp(Albedo, 0.0, 1.0); OutAlbedo = vec4(encodeVec2(Albedo.x,data1.x), encodeVec2(Albedo.y,data1.y), encodeVec2(Albedo.z,data1.z), encodeVec2(data1.w,Albedo.w)); diff --git a/shaders/dimensions/voxy.json b/shaders/dimensions/voxy.json index b106ee6..f44d2bf 100644 --- a/shaders/dimensions/voxy.json +++ b/shaders/dimensions/voxy.json @@ -100,6 +100,8 @@ }"}, "useViewportDims": true, "uniforms": [ + "viewWidth", + "viewHeight", "nightVision", "cloudTime", "noPuddleAreas", diff --git a/shaders/dimensions/voxy_solid.glsl b/shaders/dimensions/voxy_solid.glsl index 02c97bb..40561e5 100644 --- a/shaders/dimensions/voxy_solid.glsl +++ b/shaders/dimensions/voxy_solid.glsl @@ -39,6 +39,10 @@ float encodeVec2(float x,float y){ } #endif +#ifdef VISUALIZE_LIGHTMAP + #include "/lib/text_rendering.glsl" +#endif + void voxy_emitFragment(VoxyFragmentParameters parameters) { @@ -136,9 +140,17 @@ void voxy_emitFragment(VoxyFragmentParameters parameters) { if (normal.z<=-0.9) normal.xy = vec2(-0.0000000000001); vec2 lightmap = parameters.lightMap; + lightmap = lightmap / (30.0 / 32.0) - (1.0 / 32.0); vec4 data1 = clamp(vec4(encodeNormal(normal), lightmap), 0.0, 1.0); + #ifdef VISUALIZE_LIGHTMAP + beginText(ivec2(gl_FragCoord.xy/vec2(8.0, 8.0)), ivec2(0.45*viewWidth/8.0, 0.7*viewHeight/8.0)); + text.fgCol = vec4(1.0, 0.0, 0.0, 1.0); + printVec2(lightmap); + endText(Albedo.rgb); + #endif + Albedo = clamp(Albedo, 0.0, 1.0); gbuffer_data_0 = vec4(encodeVec2(Albedo.x,data1.x), encodeVec2(Albedo.y,data1.y), encodeVec2(Albedo.z,data1.z), encodeVec2(data1.w,Albedo.w)); diff --git a/shaders/lang/en_us.lang b/shaders/lang/en_us.lang index 0b19905..f6e5f26 100644 --- a/shaders/lang/en_us.lang +++ b/shaders/lang/en_us.lang @@ -1,6 +1,6 @@ option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - A Bliss Edit prefix.SHADER_VERSION_LABEL = V - value.SHADER_VERSION_LABEL.482 = 8.2.0 + value.SHADER_VERSION_LABEL.482 = 8.2.1 iris_extension.keybind.key0.name=Flashlight diff --git a/shaders/lang/zh_cn.lang b/shaders/lang/zh_cn.lang index bdf16f9..291ec92 100644 --- a/shaders/lang/zh_cn.lang +++ b/shaders/lang/zh_cn.lang @@ -1,6 +1,6 @@ option.SHADER_VERSION_LABEL = §d§lECLIPSE§r - Bliss 编辑版 prefix.SHADER_VERSION_LABEL = 版本 - value.SHADER_VERSION_LABEL.482 = 8.2.0 + value.SHADER_VERSION_LABEL.482 = 8.2.1 # 如果你是来翻译的,这不是玩笑,这些选项的功能正如其名 profile.POTATO=§4土豆 (极低配置) diff --git a/shaders/lib/settings.glsl b/shaders/lib/settings.glsl index 1df184a..7614041 100644 --- a/shaders/lib/settings.glsl +++ b/shaders/lib/settings.glsl @@ -1077,6 +1077,8 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631) #ifdef SHADER_END_PORTAL #endif +// #define VISUALIZE_LIGHTMAP + /////////////////////////////////////////// // ----- DISTANT HORIZONS SETTINGS ----- // /////////////////////////////////////////// diff --git a/shaders/shaders.properties b/shaders/shaders.properties index 6d09557..ce0d2b9 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -591,7 +591,7 @@ SHADER_VERSION_LABEL \ screen.EXPERIMENTAL_STUFF = BLOOMY_PARTICLES BIOME_TINT_WATER HYPER_DETAILED_WAVES LIT_PARTICLE_BRIGHTNESS WATER_CAUSTICS_BRIGHTNESS WATER_CAUSTICS_POWER FORCE_TRANSLUCENT_GLASS LARGE_WAVE_DISPLACEMENT VANILLA_LIKE_WATER PIXELATED PIXELIZATION_STRENGTH MAX_COLORS_PER_CHANNEL HARDCODED_EMISSIVES_APPROX TRANSLUCENT_ENTITIES_DITHER_FALLBACK ENCHANT_GLINT_BRIGHTNESS LPV_VL_FOG_ILLUMINATION_HANDHELD WAVING_MULTIPART_GRASS SHADER_GRASS_UNSUPPORTED_FIX screen.DEBUG_STUFF.columns = 2 - screen.DEBUG_STUFF = [the_end_orb] DEBUG_VIEW display_LUT WhiteWorld SSS_view AMBIENT_LIGHT_ONLY LIGHTNING_FLASH DISABLE_ENCHANT_GLINT DISABLE_VANILLA_EMISSIVES PARTICLE_RENDERING_FIX ISOLATE_RESOURCEPACK_SKY CAVE_DETECTION + screen.DEBUG_STUFF = [the_end_orb] DEBUG_VIEW display_LUT WhiteWorld SSS_view AMBIENT_LIGHT_ONLY LIGHTNING_FLASH DISABLE_ENCHANT_GLINT DISABLE_VANILLA_EMISSIVES PARTICLE_RENDERING_FIX ISOLATE_RESOURCEPACK_SKY CAVE_DETECTION VISUALIZE_LIGHTMAP screen.LEGACY_STUFF.columns = 2 screen.LEGACY_STUFF = ORIGINAL_CHOCAPIC_SKY OLD_BLOOM OLD_CAVE_DETECTION CLOUD_PHASE OLD_STARS diff --git a/shaders/world1/gbuffers_weather.vsh b/shaders/world1/gbuffers_weather.vsh index 1d9e6ac..97fffb1 100644 --- a/shaders/world1/gbuffers_weather.vsh +++ b/shaders/world1/gbuffers_weather.vsh @@ -31,7 +31,7 @@ void main() { lmtexcoord.xy = (gl_MultiTexCoord0).xy; - vec2 lmcoord = gl_MultiTexCoord1.xy/255.; + vec2 lmcoord = gl_MultiTexCoord1.xy / 240.0; lmtexcoord.zw = lmcoord*lmcoord;