From ffc1935570dfc572c9bf266e69da1054d76a4ffb Mon Sep 17 00:00:00 2001 From: Haze Weathers Date: Mon, 24 Feb 2025 15:10:26 -0500 Subject: [PATCH] add option to world uv shader, scale checker grass --- assets/shaders/horizontal_world_uv.gdshader | 3 +- assets/textures/world/checker_grass.png | Bin 1124 -> 2166 bytes levels/w1/1_01.tscn | 29 +++++++++++++------- objects/sand_pit.tscn | 1 + 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/assets/shaders/horizontal_world_uv.gdshader b/assets/shaders/horizontal_world_uv.gdshader index dafeaa6..f9a2c62 100644 --- a/assets/shaders/horizontal_world_uv.gdshader +++ b/assets/shaders/horizontal_world_uv.gdshader @@ -2,13 +2,14 @@ shader_type spatial; uniform sampler2D albedo_texture : repeat_enable, filter_nearest, source_color; uniform vec2 horizontal_uv_offset = vec2(0.0); +uniform vec2 uv_scale = vec2(1.0); void vertex() { vec3 world_position = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz; vec3 world_normal = (MODEL_NORMAL_MATRIX * NORMAL).xyz; vec2 uv_y = world_position.xz + horizontal_uv_offset; //vec3 normal_weights = world_normal / (world_normal.x + world_normal.y + world_normal.z); - UV = mix(UV, uv_y, abs(world_normal.y)); + UV = mix(UV, uv_y * uv_scale, abs(world_normal.y)); } void fragment() { diff --git a/assets/textures/world/checker_grass.png b/assets/textures/world/checker_grass.png index a15f81e6c78397103d36b89f13ec246d1385b3e3..34f5e1916fd85192d0f285f36e4905d6a2105e05 100644 GIT binary patch delta 2118 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