variable normal offset strength; misc fixes

This commit is contained in:
NULL511
2024-05-04 23:55:14 -04:00
parent 75e7402cc2
commit 68f029d8c3
8 changed files with 713 additions and 15 deletions

View File

@ -619,13 +619,14 @@ if (gl_FragCoord.x * texelSize.x < 1.0 && gl_FragCoord.y * texelSize.y < 1.0 )
#endif
#ifdef IS_LPV_ENABLED
vec3 lpvPos = GetLpvPosition(feetPlayerPos);
vec3 normalOffset = 0.5*worldSpaceNormal;
#ifdef LPV_NORMAL_OFFSET
lpvPos += -0.5*worldSpaceNormal + viewToWorld(normal);
#else
lpvPos += 0.5*worldSpaceNormal;
#if LPV_NORMAL_STRENGTH > 0
vec3 texNormalOffset = -normalOffset + viewToWorld(normal);
normalOffset = mix(normalOffset, texNormalOffset, (LPV_NORMAL_STRENGTH*0.01));
#endif
vec3 lpvPos = GetLpvPosition(feetPlayerPos) + normalOffset;
#else
const vec3 lpvPos = vec3(0.0);
#endif

View File

@ -1175,13 +1175,14 @@ void main() {
#endif
#ifdef IS_LPV_ENABLED
vec3 lpvPos = GetLpvPosition(feetPlayerPos);
vec3 normalOffset = 0.5*viewToWorld(FlatNormals);
#ifdef LPV_NORMAL_OFFSET
lpvPos += -0.5*viewToWorld(FlatNormals) + slopednormal;
#else
lpvPos += 0.5*viewToWorld(FlatNormals);
#if LPV_NORMAL_STRENGTH > 0
vec3 texNormalOffset = -normalOffset + slopednormal;
normalOffset = mix(normalOffset, texNormalOffset, (LPV_NORMAL_STRENGTH*0.01));
#endif
vec3 lpvPos = GetLpvPosition(feetPlayerPos) + normalOffset;
#else
const vec3 lpvPos = vec3(0.0);
#endif