Keep hats and cloaks on the posed model, and fix resources on 1.21.4 and 1.21.5 #41

Merged
selimaj-dev merged 2 commits from cosmetics-follow-emotes into master 2026-09-28 21:01:06 +00:00
2 changed files with 15 additions and 2 deletions
Showing only changes of commit 8995de9067 - Show all commits
@@ -48,6 +48,9 @@ public final class GlassRenderer {
.withLocation(Identifier.of("saturnclient", "pipeline/glass"))
.withFragmentShader(Identifier.of("saturnclient", "core/glass"))
.withSampler("Sampler1")
// The transforms block ends with LineWidth before 1.21.11 (see glass.fsh).
//? if <1.21.11
//.withShaderDefine("HAS_LINE_WIDTH")
.build();
private static final Identifier BLUR = Identifier.ofVanilla("post_effect/blur.json");
@@ -3,8 +3,18 @@
// Saturn's glass: the blurred game behind the screen, cut to a panel's shape. For 1.21.6 and
// later; glass_pre_1_21_6.fsh (with glass.json, the program 1.21.4 loads) is for older versions.
// Vanilla's own, since its layout changes between versions (1.21.11 dropped LineWidth)
#moj_import <minecraft:dynamictransforms.glsl>
// Vanilla's transforms, laid out as the version has them: 1.21.6 to 1.21.10 end with LineWidth, which
// 1.21.11 dropped (GlassRenderer defines HAS_LINE_WIDTH there). Not imported: the include only exists
// from 1.21.6, and 1.21.4 and 1.21.5 still read every shader's imports while loading resources.
layout(std140) uniform DynamicTransforms {
mat4 ModelViewMat;
vec4 ColorModulator;
vec3 ModelOffset;
mat4 TextureMat;
#ifdef HAS_LINE_WIDTH
float LineWidth;
#endif
};
// The panel's rounded rectangle, the same texture its background is drawn with
uniform sampler2D Sampler0;