Skip to content

Commit

Permalink
Added maxLightColor field
Browse files Browse the repository at this point in the history
This should allow for more compatibility with other light-altering packs.
  • Loading branch information
ShockMicro committed Nov 19, 2021
1 parent ceca06d commit b9fed90
Show file tree
Hide file tree
Showing 29 changed files with 57 additions and 16 deletions.
3 changes: 2 additions & 1 deletion assets/minecraft/shaders/core/particle.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,14 @@ in float vertexDistance;
in vec2 texCoord0;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;

out vec4 fragColor;

void main() {
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
float alpha = textureLod(Sampler0, texCoord0, 0.0).a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.1) {
discard;
Expand Down
2 changes: 2 additions & 0 deletions assets/minecraft/shaders/core/particle.vsh
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ out float vertexDistance;
out vec2 texCoord0;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;

void main() {
gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
Expand All @@ -24,4 +25,5 @@ void main() {
texCoord0 = UV0;
vertexColor = Color;
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ in float vertexDistance;
in vec2 texCoord0;
in vec4 vertexColor;
in vec4 lightColor;

in vec4 maxLightColor;
out vec4 fragColor;

void main() {
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
float alpha = textureLod(Sampler0, texCoord0, 0.0).a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.1) {
discard;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec2 texCoord0;
out vec2 texCoord1;
out vec4 normal;
Expand All @@ -30,6 +31,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
texCoord0 = UV0;
texCoord1 = UV1;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
Expand Down
3 changes: 2 additions & 1 deletion assets/minecraft/shaders/core/rendertype_cutout.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec2 texCoord0;
in vec4 normal;

Expand All @@ -21,7 +22,7 @@ out vec4 fragColor;
void main() {
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
float alpha = textureLod(Sampler0, texCoord0, 0.0).a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.1) {
discard;
Expand Down
2 changes: 2 additions & 0 deletions assets/minecraft/shaders/core/rendertype_cutout.vsh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ uniform vec3 ChunkOffset;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec2 texCoord0;
out vec4 normal;

Expand All @@ -26,6 +27,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position + ChunkOffset, 1.0)).xyz);
vertexColor = Color;
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
texCoord0 = UV0;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
}
3 changes: 2 additions & 1 deletion assets/minecraft/shaders/core/rendertype_cutout_mipped.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec2 texCoord0;
in vec4 normal;

Expand All @@ -21,7 +22,7 @@ out vec4 fragColor;
void main() {
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
float alpha = textureLod(Sampler0, texCoord0, 0.0).a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.5) {
discard;
Expand Down
2 changes: 2 additions & 0 deletions assets/minecraft/shaders/core/rendertype_cutout_mipped.vsh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ uniform vec3 ChunkOffset;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec2 texCoord0;
out vec4 normal;

Expand All @@ -26,6 +27,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position + ChunkOffset, 1.0)).xyz);
vertexColor = Color;
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
texCoord0 = UV0;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
}
3 changes: 2 additions & 1 deletion assets/minecraft/shaders/core/rendertype_entity_cutout.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec4 overlayColor;
in vec2 texCoord0;
in vec4 normal;
Expand All @@ -24,7 +25,7 @@ void main() {
color *= vertexColor * ColorModulator;
color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
float alpha = color.a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.1) {
discard;
Expand Down
2 changes: 2 additions & 0 deletions assets/minecraft/shaders/core/rendertype_entity_cutout.vsh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec4 overlayColor;
out vec2 texCoord0;
out vec4 normal;
Expand All @@ -31,6 +32,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
overlayColor = texelFetch(Sampler1, UV1, 0);
texCoord0 = UV0;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec4 overlayColor;
in vec2 texCoord0;
in vec4 normal;
Expand All @@ -24,7 +25,7 @@ void main() {
color *= vertexColor * ColorModulator;
color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
float alpha = color.a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.1) {
discard;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec4 overlayColor;
out vec2 texCoord0;
out vec4 normal;
Expand All @@ -31,6 +32,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
overlayColor = texelFetch(Sampler1, UV1, 0);
texCoord0 = UV0;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec4 overlayColor;
in vec2 texCoord0;
in vec4 normal;
Expand All @@ -24,7 +25,7 @@ void main() {
color *= vertexColor * ColorModulator;
color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
float alpha = color.a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.1) {
discard;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec4 overlayColor;
out vec2 texCoord0;
out vec4 normal;
Expand All @@ -31,6 +32,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
overlayColor = texelFetch(Sampler1, UV1, 0);
texCoord0 = UV0;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec2 texCoord0;
in vec4 normal;

Expand All @@ -21,7 +22,7 @@ out vec4 fragColor;
void main() {
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
float alpha = textureLod(Sampler0, texCoord0, 0.0).a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec2 texCoord0;
out vec4 normal;

Expand All @@ -28,6 +29,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
texCoord0 = UV0;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
}
3 changes: 2 additions & 1 deletion assets/minecraft/shaders/core/rendertype_entity_solid.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec4 overlayColor;
in vec2 texCoord0;
in vec4 normal;
Expand All @@ -23,7 +24,7 @@ void main() {
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
float alpha = color.a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
fragColor = linear_fog(color, vertexDistance, FogStart, FogEnd, FogColor);
}
2 changes: 2 additions & 0 deletions assets/minecraft/shaders/core/rendertype_entity_solid.vsh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec4 overlayColor;
out vec2 texCoord0;
out vec4 normal;
Expand All @@ -31,6 +32,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
overlayColor = texelFetch(Sampler1, UV1, 0);
texCoord0 = UV0;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec4 overlayColor;
in vec2 texCoord0;
in vec4 normal;
Expand All @@ -24,7 +25,7 @@ void main() {
color *= vertexColor * ColorModulator;
color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
float alpha = color.a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.1) {
discard;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec4 overlayColor;
out vec2 texCoord0;
out vec4 normal;
Expand All @@ -31,6 +32,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
overlayColor = texelFetch(Sampler1, UV1, 0);
texCoord0 = UV0;
normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec2 texCoord0;
in vec2 texCoord1;
in vec4 normal;
Expand All @@ -22,7 +23,7 @@ out vec4 fragColor;
void main() {
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
float alpha = textureLod(Sampler0, texCoord0, 0.0).a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.1) {
discard;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec2 texCoord0;
out vec2 texCoord1;
out vec2 texCoord2;
Expand All @@ -31,6 +32,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
texCoord0 = UV0;
texCoord1 = UV1;
texCoord2 = UV2;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ uniform vec4 FogColor;
in float vertexDistance;
in vec4 vertexColor;
in vec4 lightColor;
in vec4 maxLightColor;
in vec2 texCoord0;
in vec2 texCoord1;
in vec4 normal;
Expand All @@ -22,7 +23,7 @@ out vec4 fragColor;
void main() {
vec4 color = texture(Sampler0, texCoord0) * vertexColor * ColorModulator;
float alpha = textureLod(Sampler0, texCoord0, 0.0).a * 255.0;
color = make_emissive(color, lightColor, vertexDistance, alpha);
color = make_emissive(color, lightColor, maxLightColor, vertexDistance, alpha);
color.a = remap_alpha(alpha) / 255.0;
if (color.a < 0.1) {
discard;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ uniform vec3 Light1_Direction;
out float vertexDistance;
out vec4 vertexColor;
out vec4 lightColor;
out vec4 maxLightColor;
out vec2 texCoord0;
out vec2 texCoord1;
out vec2 texCoord2;
Expand All @@ -31,6 +32,7 @@ void main() {
vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
lightColor = minecraft_sample_lightmap(Sampler2, UV2);
maxLightColor = minecraft_sample_lightmap(Sampler2, ivec2(240.0, 240.0));
texCoord0 = UV0;
texCoord1 = UV1;
texCoord2 = UV2;
Expand Down
Loading

0 comments on commit b9fed90

Please sign in to comment.