diff --git a/shaders/lang/en_US.lang b/shaders/lang/en_US.lang index fe044213..d453d01d 100644 --- a/shaders/lang/en_US.lang +++ b/shaders/lang/en_US.lang @@ -824,6 +824,9 @@ option.GENERATED_NORMALS.comment=Adds auto-generated bumpy details to surfaces. option.COATED_TEXTURES=Coated Textures option.COATED_TEXTURES.comment=Adds auto-generated dusty details to textures. §e[*]§r RP Support option must be set to Integrated PBR+. +option.COATED_TEXTURES_SNOW_ONLY=Snow Only Coating +option.COATED_TEXTURES_SNOW_ONLY.comment=When enabled, coated textures only appear in snowy biomes or areas with snowfall. §e[*]§r Requires Coated Textures to be enabled. + option.ENTITY_GN_AND_CT=Allow GN and CT on Entities option.ENTITY_GN_AND_CT.comment=Decides if Generated Normals and Coated Textures can appear on entities. §e[*]§r This won't enable GN or CT on entities if the main GN or CT options are disabled. diff --git a/shaders/lib/common.glsl b/shaders/lib/common.glsl index 4569a0f1..ed349bf0 100644 --- a/shaders/lib/common.glsl +++ b/shaders/lib/common.glsl @@ -169,6 +169,7 @@ #define ENTITY_GN_AND_CT #define GENERATED_NORMAL_MULT 100 //[25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 110 120 130 140 150 160 170 180 190 200 250 300 400] #define COATED_TEXTURE_MULT 100 //[25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 110 120 130 140 150 160 170 180 190 200] + //#define COATED_TEXTURES_SNOW_ONLY #define GLOWING_ORE_MASTER 1 //[0 1 2] #define GLOWING_ORE_MULT 1.00 //[0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00 1.10 1.20 1.30 1.40 1.50 1.60 1.70 1.80 1.90 2.00] diff --git a/shaders/lib/materials/materialMethods/coatedTextures.glsl b/shaders/lib/materials/materialMethods/coatedTextures.glsl index d96c12dc..717aede6 100644 --- a/shaders/lib/materials/materialMethods/coatedTextures.glsl +++ b/shaders/lib/materials/materialMethods/coatedTextures.glsl @@ -7,6 +7,11 @@ void CoatTextures(inout vec3 color, float noiseFactor, vec3 playerPos, bool doTi #endif #endif + #ifdef COATED_TEXTURES_SNOW_ONLY + if (inSnowy < 0.001) return; + noiseFactor *= inSnowy; + #endif + #ifndef SAFER_GENERATED_NORMALS vec2 noiseCoord = floor(midCoordPos / 16.0 * packSizeNT * atlasSizeM) / packSizeNT / 3.0; #else diff --git a/shaders/shaders.properties b/shaders/shaders.properties index 52baacd3..2f1916b8 100644 --- a/shaders/shaders.properties +++ b/shaders/shaders.properties @@ -15,7 +15,7 @@ screen.PERFORMANCE_SETTINGS= SHADOW_QUALITY shadowDistance LIGHTSHAFT_QUALI_DEFINE DETAIL_QUALITY CLOUD_QUALITY FXAA_DEFINE SSAO_QUALI_DEFINE ANISOTROPIC_FILTER WATER_REFLECT_QUALITY BLOCK_REFLECT_QUALITY COLORED_LIGHTING WORLD_SPACE_REFLECTIONS ENTITY_SHADOW screen.MATERIAL_SETTINGS= [IPBR_SETTINGS] [CUSTOM_PBR_SETTINGS] [WATER_SETTINGS] [WAVING_SETTINGS] RAIN_PUDDLES SPECIAL_PORTAL_EFFECTS REFLECTION_RES - screen.IPBR_SETTINGS= GENERATED_NORMALS COATED_TEXTURES GENERATED_NORMAL_MULT COATED_TEXTURE_MULT ENTITY_GN_AND_CT [GLOWING_ORE_SETTINGS] [GLOWING_STUFF_SETTINGS] [OTHER_IPBR_SETTINGS] + screen.IPBR_SETTINGS= GENERATED_NORMALS COATED_TEXTURES COATED_TEXTURES_SNOW_ONLY GENERATED_NORMAL_MULT COATED_TEXTURE_MULT ENTITY_GN_AND_CT [GLOWING_ORE_SETTINGS] [GLOWING_STUFF_SETTINGS] [OTHER_IPBR_SETTINGS] screen.GLOWING_ORE_SETTINGS= GLOWING_ORE_MASTER GLOWING_ORE_MULT GLOWING_ORE_IRON GLOWING_ORE_GOLD GLOWING_ORE_COPPER GLOWING_ORE_REDSTONE GLOWING_ORE_LAPIS GLOWING_ORE_EMERALD GLOWING_ORE_DIAMOND GLOWING_ORE_NETHERQUARTZ GLOWING_ORE_NETHERGOLD GLOWING_ORE_GILDEDBLACKSTONE GLOWING_ORE_ANCIENTDEBRIS GLOWING_ORE_MODDED screen.GLOWING_STUFF_SETTINGS= GLOWING_AMETHYST GLOWING_LICHEN EMISSIVE_REDSTONE_BLOCK EMISSIVE_LAPIS_BLOCK GLOWING_ARMOR_TRIM screen.OTHER_IPBR_SETTINGS= IPBR_EMISSIVE_MODE IPBR_PARTICLE_FEATURES IPBR_COMPAT_MODE_DEFINE FANCY_GLASS GREEN_SCREEN_LIME MIRROR_TINTED_GLASS