Viewmodel Shading Fix - NVSE

Mod fixes totally wrong specular lighting, and lack of muzzle flash lights on viewmodel.

I'm on a roll with viewmodel fixes.

When Bethesda tried to mitigate floating point precision loss on viewmodel by shifting local playet position, they added a mechanism to shift lights to accommodate that position change.

As we know, that thing didn't go according to the plan. So you shouldn't be surprised if I tell you, that this light offset is also broken.

While lights get correctly shifted, the eye position is not (oddly enough it is calculated correctly in Lighting30Shaders, which are used only for decals). This means that you get correct diffuse lighting, but totally incorrect specular highlights, rendering (literally) weapon super dull and often dim. If you often wondered why weapons look flat - that's why.

The other issue is exact opposite - while eye pos was missing the offset, lights attached to the player are missing due to having the offset. This means that muzzle flashes, or any other light attached to viewmodel nodes (like in my Dynamic Pip-Boy Light), would not cast light at the player.

Both issues, fixed.

Compatible (and recommended to use) with Pip-Boy Shading Fix.


Source Code

Bad video game