16 lines
No EOL
540 B
Text
16 lines
No EOL
540 B
Text
shader_type spatial;
|
|
|
|
uniform sampler2D albedo_texture : repeat_enable, filter_nearest, source_color;
|
|
uniform vec2 horizontal_uv_offset = vec2(0.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));
|
|
}
|
|
|
|
void fragment() {
|
|
ALBEDO = texture(albedo_texture, UV).rgb;
|
|
} |