Add wavy multipart grass

This commit is contained in:
Merlin1809
2026-02-12 21:05:13 +01:00
parent 130554a60b
commit b8baa1aac1
4 changed files with 21 additions and 7 deletions
+3 -3
View File
@@ -801,9 +801,9 @@ void main() {
) {
SSSAMOUNT = 0.5;
}
#ifdef CUTOUT
else if (data_in.blockID == BLOCK_GRASS) {
if(all(lessThan(abs(flatNormals), vec3(0.95, 0.05, 0.95)))) SSSAMOUNT = 0.3;
#if defined CUTOUT
else if (data_in.blockID == -BLOCK_GRASS) {
SSSAMOUNT = 0.3;
}
#endif
#endif
+13 -3
View File
@@ -285,6 +285,14 @@ void main() {
data_out.blockID = int(mc_Entity.x);
#endif
vec3 worldNormals = viewToWorld(data_out.normalMat);
#if defined CUTOUT
if (data_out.blockID == BLOCK_GRASS) {
if(all(lessThan(abs(worldNormals), vec3(0.95, 0.05, 0.95)))) data_out.blockID = -BLOCK_GRASS;
}
#endif
#if defined WORLD && !defined HAND
#ifdef BLOCKENTITIES
if(blockEntityId == BLOCK_END_PORTAL || blockEntityId == 187) {
@@ -305,8 +313,6 @@ void main() {
vec3 worldpos = mat3(gbufferModelViewInverse) * position + gbufferModelViewInverse[3].xyz;
vec3 worldNormals = viewToWorld(data_out.normalMat);
#if !defined ENTITIES && !defined HAND && defined SHADER_GRASS && (defined GRASS_DETECT_FALLOFF || defined GRASS_DETECT_INV_FALLOFF || REPLACE_SHORT_GRASS > 0) && !defined BLOCKENTITIES
#ifndef CUTOUT
@@ -378,7 +384,11 @@ void main() {
if(
(
// these wave off of the ground. the area connected to the ground does not wave.
(InterpolateFromBase && (mc_Entity.x == BLOCK_GRASS_TALL_LOWER || mc_Entity.x == BLOCK_GROUND_WAVING || mc_Entity.x == BLOCK_GRASS_SHORT || mc_Entity.x == BLOCK_SAPLING || mc_Entity.x == BLOCK_GROUND_WAVING_VERTICAL))
(InterpolateFromBase && (mc_Entity.x == BLOCK_GRASS_TALL_LOWER || mc_Entity.x == BLOCK_GROUND_WAVING || mc_Entity.x == BLOCK_GRASS_SHORT || mc_Entity.x == BLOCK_SAPLING || mc_Entity.x == BLOCK_GROUND_WAVING_VERTICAL
#if defined CUTOUT && defined WAVING_MULTIPART_GRASS
|| data_out.blockID == -BLOCK_GRASS
#endif
))
// these wave off of the ceiling. the area connected to the ceiling does not wave.
|| (!InterpolateFromBase && (mc_Entity.x == BLOCK_VINE_OTHER))
+4
View File
@@ -1054,11 +1054,15 @@ const vec3 aerochrome_color = mix(vec3(1.0, 0.0, 0.0), vec3(0.715, 0.303, 0.631)
#define GRASS_RANGE 40.0 // [10.0 12.5 15.0 17.5 20.0 22.5 25.0 27.5 30.0 32.5 35.0 37.5 40.0 42.5 45.0 47.5 50.0 60.0 70.0 80.0 90.0 100.0]
#define GRASS_WAVY_STRENGTH 1.0 // [0.0 0.1 0.25 0.5 0.75 1.0 1.25 1.5 1.75 2.0]
#define WAVING_MULTIPART_GRASS
#define GRASS_RANDOMNESS 0.5 // [0.0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1.0]
#define RAINBOW_SELECT_BOX 0 // [0 1 2]
#ifdef WAVING_MULTIPART_GRASS
#endif
///////////////////////////////////////////
// ----- DISTANT HORIZONS SETTINGS ----- //
///////////////////////////////////////////
+1 -1
View File
@@ -539,7 +539,7 @@ SHADER_VERSION_LABEL <profile> \
screen.Misc_Settings = [EXPERIMENTAL_STUFF] [DEBUG_STUFF] [LEGACY_STUFF] TRANSLUCENT_ENTITIES [selection_box_outline] [scene_controller] <empty> <empty> AEROCHROME_MODE AEROCHROME_PINKNESS AEROCHROME_WOOL_ENABLED
screen.EXPERIMENTAL_STUFF.columns = 2
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
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
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