I am applying my new normal map point lighting shader to the various objects in my scene, but i’ve noticed that one of the object types (the wooden posts in the corners) draw with the light on the reverse side. I don’t understand what is happening. Right now my only thought is to create a new shader for that one model, and reverse the light direction. But I want to understand why this is happening and make sure I’m not doing something wrong:
Notice the vertical wooden posts / beams with light drawing on the side facing the camera (opposite side of the point light, approximately where the sword is), rather than the side facing the light. Everything else seems to draw fine so far.
Things I have tried:
- Rotating the wooden beams. Does not help, light still draws on the wrong side.
- Setting “SwapWindingOrder” to true on the model in content builder. Did not seem to change anything.
- Cloning the shader with Effect.Clone() instead of using the same shader. Did not have any effect.
The shader and parameters are all exactly the same for every object including walls, etc., I do not change anything except the world matrices (fully transformed world, and rotated, unscaled world).
All of these objects inherit from the same underlying class in my code, which is the one that does all the drawing, matrix transforms, etc. They use different models (fbx), textures, and normal maps.
Could something be wrong with the model itself? Do I need to do something in Blender maybe?