diff --git a/res/shader/gbuffer_opaque.frag b/res/shader/gbuffer_opaque.frag index f90ea19a..6c3f687d 100644 --- a/res/shader/gbuffer_opaque.frag +++ b/res/shader/gbuffer_opaque.frag @@ -16,15 +16,12 @@ void main() { outPosition=vec4(normalize(FragmentPosition*2.0-vec3(1.0)),1.0); -/* vec3 N = normalize(FragmentNormal); - N.y=-N.y; + vec3 N = normalize(FragmentNormal); vec3 T = normalize(FragmentTangent); vec3 B = cross(N,T); mat3 TBN = mat3(T,B,N); - vec3 tnorm = normalize(texture(TextureNormal,FragmentTexCoord).xyz*2.0-vec3(1.0))*TBN;*/ + vec3 tnorm = normalize(texture(TextureNormal,FragmentTexCoord).xyz*2.0-vec3(1.0))*TBN; - //outNormal=vec4(tnorm,1.0); - - outNormal=vec4(normalize(FragmentNormal*2.0-vec3(1.0)),1.0); + outNormal=vec4(tnorm,1.0); outColor=texture(TextureColor,FragmentTexCoord); } diff --git a/res/shader/gbuffer_opaque.vert b/res/shader/gbuffer_opaque.vert index 8c99fa31..f42976d6 100644 --- a/res/shader/gbuffer_opaque.vert +++ b/res/shader/gbuffer_opaque.vert @@ -32,12 +32,8 @@ void main() FragmentPosition=(pos*world.modelview).xyz; FragmentTexCoord=TexCoord; -// mat3 n=inverse(mat3(pc.local_to_world)); + mat3 n=mat3(pc.local_to_world*world.modelview); -// Normal.y=-Normal.y; -// FragmentNormal=normalize(Normal)*n; -// FragmentTangent=normalize(Tangent)*n; - - FragmentNormal=Normal; - FragmentTangent=Tangent; + FragmentNormal=normalize(Normal)*n; + FragmentTangent=normalize(Tangent)*n; }