mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-26 05:51:20 +00:00
- model normals fix
This commit is contained in:
parent
c86d9f60d0
commit
679518f8e5
1 changed files with 14 additions and 2 deletions
|
@ -5,8 +5,8 @@ layout(location = 1) in vec4 vColor;
|
||||||
layout(location = 2) in vec4 pixelpos;
|
layout(location = 2) in vec4 pixelpos;
|
||||||
layout(location = 3) in vec3 glowdist;
|
layout(location = 3) in vec3 glowdist;
|
||||||
layout(location = 4) in vec3 gradientdist;
|
layout(location = 4) in vec3 gradientdist;
|
||||||
layout(location = 5) in vec4 vWorldNormal;
|
layout(location = 5) in vec4 vWorldNormalOrig;
|
||||||
layout(location = 6) in vec4 vEyeNormal;
|
layout(location = 6) in vec4 vEyeNormalOrig;
|
||||||
layout(location = 9) in vec3 vLightmap;
|
layout(location = 9) in vec3 vLightmap;
|
||||||
|
|
||||||
#ifdef NO_CLIPDISTANCE_SUPPORT
|
#ifdef NO_CLIPDISTANCE_SUPPORT
|
||||||
|
@ -20,6 +20,9 @@ layout(location=1) out vec4 FragFog;
|
||||||
layout(location=2) out vec4 FragNormal;
|
layout(location=2) out vec4 FragNormal;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
vec4 vWorldNormal;
|
||||||
|
vec4 vEyeNormal;
|
||||||
|
|
||||||
struct Material
|
struct Material
|
||||||
{
|
{
|
||||||
vec4 Base;
|
vec4 Base;
|
||||||
|
@ -720,6 +723,15 @@ void main()
|
||||||
if (ClipDistanceA.x < 0 || ClipDistanceA.y < 0 || ClipDistanceA.z < 0 || ClipDistanceA.w < 0 || ClipDistanceB.x < 0) discard;
|
if (ClipDistanceA.x < 0 || ClipDistanceA.y < 0 || ClipDistanceA.z < 0 || ClipDistanceA.w < 0 || ClipDistanceB.x < 0) discard;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Flip normal if it is facing away from the camera
|
||||||
|
vWorldNormal = vWorldNormalOrig;
|
||||||
|
vEyeNormal = vEyeNormalOrig;
|
||||||
|
if (dot(uCameraPos.xyz - pixelpos.xyz, vWorldNormal.xyz) < 0)
|
||||||
|
{
|
||||||
|
vWorldNormal.xyz = -vWorldNormal.xyz;
|
||||||
|
vEyeNormal.xyz = -vEyeNormal.xyz;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef LEGACY_USER_SHADER
|
#ifndef LEGACY_USER_SHADER
|
||||||
Material material;
|
Material material;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue