19 lines
453 B
Text
19 lines
453 B
Text
shader_type spatial;
|
|
|
|
uniform sampler2D door_texture : source_color, filter_nearest, repeat_enable;
|
|
uniform vec3 uv_scale = vec3(3.0, 2.0, 3.0);
|
|
|
|
varying float is_back_face;
|
|
|
|
void vertex() {
|
|
// NORMAL is in model space here. The -Z face has NORMAL.z == -1.
|
|
is_back_face = step(NORMAL.z, -0.5);
|
|
}
|
|
|
|
void fragment() {
|
|
vec2 uv = UV * uv_scale.xy;
|
|
if (is_back_face > 0.5) {
|
|
uv.x = -uv.x;
|
|
}
|
|
ALBEDO = texture(door_texture, uv).rgb;
|
|
}
|