You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-08 12:40:44 +00:00
Fix 2D normals for transposed texture
This commit is contained in:
@@ -587,6 +587,9 @@ void main() {
|
|||||||
|
|
||||||
if (normal_used || (using_light && bool(read_draw_data_flags & FLAGS_DEFAULT_NORMAL_MAP_USED))) {
|
if (normal_used || (using_light && bool(read_draw_data_flags & FLAGS_DEFAULT_NORMAL_MAP_USED))) {
|
||||||
normal.xy = texture(normal_texture, uv).xy * vec2(2.0, -2.0) - vec2(1.0, -1.0);
|
normal.xy = texture(normal_texture, uv).xy * vec2(2.0, -2.0) - vec2(1.0, -1.0);
|
||||||
|
if (bool(read_draw_data_flags & FLAGS_TRANSPOSE_RECT)) {
|
||||||
|
normal.xy = normal.yx;
|
||||||
|
}
|
||||||
if (bool(read_draw_data_flags & FLAGS_FLIP_H)) {
|
if (bool(read_draw_data_flags & FLAGS_FLIP_H)) {
|
||||||
normal.x = -normal.x;
|
normal.x = -normal.x;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -516,6 +516,9 @@ void main() {
|
|||||||
|
|
||||||
if (normal_used || (using_light && bool(draw_data.flags & FLAGS_DEFAULT_NORMAL_MAP_USED))) {
|
if (normal_used || (using_light && bool(draw_data.flags & FLAGS_DEFAULT_NORMAL_MAP_USED))) {
|
||||||
normal.xy = texture(sampler2D(normal_texture, texture_sampler), uv).xy * vec2(2.0, -2.0) - vec2(1.0, -1.0);
|
normal.xy = texture(sampler2D(normal_texture, texture_sampler), uv).xy * vec2(2.0, -2.0) - vec2(1.0, -1.0);
|
||||||
|
if (bool(draw_data.flags & FLAGS_TRANSPOSE_RECT)) {
|
||||||
|
normal.xy = normal.yx;
|
||||||
|
}
|
||||||
if (bool(draw_data.flags & FLAGS_FLIP_H)) {
|
if (bool(draw_data.flags & FLAGS_FLIP_H)) {
|
||||||
normal.x = -normal.x;
|
normal.x = -normal.x;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user