From 38013f78eefdddcec3fb60768387970027c45f6c Mon Sep 17 00:00:00 2001 From: aryasalehi Date: Fri, 23 Dec 2022 12:05:55 +0330 Subject: [PATCH] tweak --- bin/pg.wasm | Bin 298573 -> 298904 bytes constants.h | 2 +- generation/glsl.cc | 10 ++++++++-- generation/noise.h | 21 ++++++++++++++++++--- 4 files changed, 27 insertions(+), 6 deletions(-) diff --git a/bin/pg.wasm b/bin/pg.wasm index 0ff4a5e57fc44babb00ce2d1347ff038d3fe9169..b727acaf928be6376d87aaf9ad07d3f172a85b37 100644 GIT binary patch delta 23519 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 delta 23270 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 diff --git a/constants.h b/constants.h index 47ce046..3ab5e38 100644 --- a/constants.h +++ b/constants.h @@ -39,7 +39,7 @@ constexpr float ROCK_NOISE_SHARPNESS = 85.0; // grass constexpr int MAX_NUM_GRASSES_PER_CHUNK = 2048; constexpr int MAX_NUM_FLOWERS_PER_CHUNK = 2048; -constexpr float GRASS_THRESHOLD = 0.05; +constexpr float GRASS_THRESHOLD = 0.65; constexpr float GRASS_HEIGHT_VARIATION_RANGE = 0.5; constexpr float GRASS_COLOR_VARIATION_BASE = 1.0; constexpr float GRASS_COLOR_VARIATION_RANGE = 0.3; diff --git a/generation/glsl.cc b/generation/glsl.cc index 5c62339..9f41fac 100644 --- a/generation/glsl.cc +++ b/generation/glsl.cc @@ -431,15 +431,21 @@ float getWetness(vec2 position) return clamp(simplex(position / 2.f) + 0.2f, 0.f, 1.f); } -float getGrassMaterial(vec2 position, float wetness) +float getGrassNoise(vec2 position, float wetness) { float noise = warpNoise1Layer_2(position * 10.f) * wetness; + return noise * 9.5f; +} + +float getGrassMaterial(vec2 position, float wetness) +{ + float noise = getGrassNoise(position, wetness); return clamp(noise, 0.f, 1.f); } float getGrassObject(vec2 position, float wetness) { - return getGrassMaterial(position, wetness); + return getGrassNoise(position, wetness); } bool getGrassVisibility(vec2 position, float wetness) diff --git a/generation/noise.h b/generation/noise.h index ba6f63a..59c22c8 100644 --- a/generation/noise.h +++ b/generation/noise.h @@ -176,7 +176,22 @@ class UberNoise { case (uint8_t)INSTANCE::TREE: { - color = vm::vec3{0.f, 0.f, 0.f}; + const float hash = (hashNoise(x * 3.f, z * 3.f) * 2.0 - 1.0); + const float colorVariationNoise = vm::clamp(GRASS_COLOR_VARIATION_BASE + simplexm15 * GRASS_COLOR_VARIATION_RANGE, 0.0f, 1.f + GRASS_COLOR_VARIATION_RANGE); + const float randomBladeFactor = heightfield.field.hash * 2.f - 1.f; + color = (vm::vec3{colorVariationNoise / 1.0f, colorVariationNoise / 1.0f, colorVariationNoise / 1.3f} + + vm::vec3{randomBladeFactor / 10.f, randomBladeFactor / 7.f, randomBladeFactor / 12.f}) + + vm::vec3{hash, hash / 3.f, -hash} / 7.f; + break; + } + case (uint8_t)INSTANCE::BUSH: + { + const float hash = (hashNoise(x * 6.f, z * 6.f) * 2.0 - 1.0); + const float colorVariationNoise = vm::clamp(GRASS_COLOR_VARIATION_BASE + simplexm15 * GRASS_COLOR_VARIATION_RANGE, 0.0f, 1.f + GRASS_COLOR_VARIATION_RANGE); + const float randomBladeFactor = heightfield.field.hash * 2.f - 1.f; + color = (vm::vec3{colorVariationNoise / 1.3f, colorVariationNoise / 1.0f, colorVariationNoise / 1.1f} + + vm::vec3{randomBladeFactor / 12.f, randomBladeFactor / 6.f, randomBladeFactor / 10.f}) + + vm::vec3{hash, -hash / 2.f, -hash / 2.f} / 6.f; break; } case (uint8_t)INSTANCE::FLOWER: @@ -188,8 +203,8 @@ class UberNoise { const float colorVariationNoise = vm::clamp(GRASS_COLOR_VARIATION_BASE + simplexm15 * GRASS_COLOR_VARIATION_RANGE, 0.0f, 1.f + GRASS_COLOR_VARIATION_RANGE); const float randomBladeFactor = heightfield.field.hash * 2.f - 1.f; - color = (vm::vec3{colorVariationNoise / 1.4f, colorVariationNoise / 1.6f, colorVariationNoise / 1.75f} + - vm::vec3{randomBladeFactor / 8.f, randomBladeFactor / 10.f, randomBladeFactor / 12.f}); + color = (vm::vec3{colorVariationNoise / 2.05f, colorVariationNoise / 1.6f, colorVariationNoise / 2.1f} + + vm::vec3{randomBladeFactor / 13.f, randomBladeFactor / 9.f, randomBladeFactor / 14.f}); break; } case (uint8_t)INSTANCE::ROCK: