mirror of
https://gitea.wildfiregames.com/0ad/0ad
synced 2026-06-16 05:13:58 -07:00
Fix terrain normals to account for angle
This commit is contained in:
parent
1268854587
commit
c2bb61fffc
3 changed files with 9 additions and 7 deletions
|
|
@ -89,8 +89,7 @@ void main()
|
|||
#endif
|
||||
|
||||
#if USE_NORMAL_MAP
|
||||
float sign = v_tangent.w;
|
||||
mat3 tbn = mat3(v_tangent.xyz, v_bitangent * -sign, v_normal);
|
||||
mat3 tbn = mat3(v_tangent, v_bitangent, v_normal);
|
||||
#if USE_TRIPLANAR
|
||||
vec3 ntex = triplanarNormals(GET_DRAW_TEXTURE_2D(normTex), v_tex).rgb;
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ VERTEX_OUTPUT(3, vec3, v_tex);
|
|||
VERTEX_OUTPUT(3, vec2, v_tex);
|
||||
#endif
|
||||
#if USE_NORMAL_MAP
|
||||
VERTEX_OUTPUT(4, vec4, v_tangent);
|
||||
VERTEX_OUTPUT(4, vec3, v_tangent);
|
||||
VERTEX_OUTPUT(5, vec3, v_bitangent);
|
||||
#endif
|
||||
#if USE_SPECULAR_MAP
|
||||
|
|
|
|||
|
|
@ -57,10 +57,13 @@ void main()
|
|||
|
||||
#if USE_NORMAL_MAP || USE_SPECULAR_MAP || USE_TRIPLANAR
|
||||
#if USE_NORMAL_MAP
|
||||
vec3 t = vec3(1.0, 0.0, 0.0);
|
||||
t = normalize(t - v_normal * dot(v_normal, t));
|
||||
v_tangent = vec4(t, -1.0);
|
||||
v_bitangent = cross(v_normal, t);
|
||||
#if DECAL || USE_TRIPLANAR
|
||||
// TODO: this should be fixed for decals/triplanar mapping.
|
||||
v_tangent = vec3(1.0, 0.0, 0.0);
|
||||
#else
|
||||
v_tangent = normalize(vec3(c, 0.0, -s));
|
||||
#endif
|
||||
v_bitangent = cross(v_normal, v_tangent);
|
||||
#endif
|
||||
|
||||
#if USE_SPECULAR_MAP
|
||||
|
|
|
|||
Loading…
Reference in a new issue