1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-17 01:10:10 +00:00

clamp vertex lighting in fragment shader properly

This commit is contained in:
cody glassman 2022-04-28 20:02:13 -07:00
parent a707f5b0e0
commit 276cb6f170
4 changed files with 7 additions and 3 deletions

View File

@ -112,6 +112,7 @@
Bug #6670: Dialogue order is incorrect
Bug #6680: object.cpp handles nodetree unsafely, memory access with dangling pointer
Bug #6682: HitOnMe doesn't fire as intended
Bug #6697: Shaders vertex lighting incorrectly clamped
Bug #6711: Log time differs from real time
Feature #890: OpenMW-CS: Column filtering
Feature #1465: "Reset" argument for AI functions

View File

@ -73,9 +73,10 @@ void main()
vec3 diffuseLight, ambientLight;
doLighting(passViewPos, normalize(viewNormal), shadowing, diffuseLight, ambientLight);
lighting = diffuseLight + ambientLight;
clampLightingResult(lighting);
#endif
clampLightingResult(lighting);
gl_FragData[0].xyz *= lighting;
#if @radialFog

View File

@ -194,9 +194,10 @@ void main()
doLighting(passViewPos, normalize(viewNormal), shadowing, diffuseLight, ambientLight);
vec3 emission = getEmissionColor().xyz * emissiveMult;
lighting = diffuseColor.xyz * diffuseLight + getAmbientColor().xyz * ambientLight + emission;
clampLightingResult(lighting);
#endif
clampLightingResult(lighting);
gl_FragData[0].xyz *= lighting;
#if @envMap && !@preLightEnv

View File

@ -87,9 +87,10 @@ void main()
vec3 diffuseLight, ambientLight;
doLighting(passViewPos, normalize(viewNormal), shadowing, diffuseLight, ambientLight);
lighting = diffuseColor.xyz * diffuseLight + getAmbientColor().xyz * ambientLight + getEmissionColor().xyz;
clampLightingResult(lighting);
#endif
clampLightingResult(lighting);
gl_FragData[0].xyz *= lighting;
#if @specularMap