blob: d338e369bb5e9659f227e2c91a41aa845fccf760 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
shader_type spatial;
render_mode cull_disabled;
// Both vanilla flags use the same normal texture
uniform uvec2 flag_dims;
uniform sampler2D texture_flag_sheet_diffuse : source_color;
uniform sampler2D texture_normal : hint_normal;
instance uniform uint flag_index;
uniform vec2 scroll_speed = vec2(-0.25,0);
// Scroll the Normal map, but leave the albedo alone
void fragment() {
uvec2 flag_sheet_dims = uvec2(textureSize(texture_flag_sheet_diffuse, 0));
uint scaled_index = flag_index * flag_dims.x;
uvec2 flag_pos = uvec2(scaled_index % flag_sheet_dims.x, scaled_index / flag_sheet_dims.x * flag_dims.y);
vec2 flag_uv = (vec2(flag_pos) + UV * vec2(flag_dims)) / vec2(flag_sheet_dims);
ALBEDO = texture(texture_flag_sheet_diffuse, flag_uv).rgb;
//ALBEDO = vec3(1, 0, 0);
NORMAL_MAP = texture(texture_normal, UV + TIME*scroll_speed).rgb;
}
|