New answers tagged normal-mapping
It may be that you are hitting an edge of the texture when sampling. If so, the GPU will just wrap around and return you a disconnected texel from the other side. You could try messing a bit with the texture filtering options to see if there are any visible changes (on OpenGL glTexParameter() with GL_TEXTURE_MIN_FILTER and GL_TEXTURE_MAG_FILTER), and ...
Applying two normal maps is not that bad. Many games apply multiple normal maps already because they're blending between texture layers (e.g. for terrain), so having a normal map representing the larger displacements and another normal map for fine details is pretty reasonable. Check out Blending in Detail by Colin Barré-Brisebois and Stephen Hill for a ...
If you are computing the half-vector in the Vertex Shader and passing it to the Fragment Shader as an interpolated output, there is no guarantee that the normalized vector will remain unit length after being interpolated thru the triangle. So you should at least re-normalize it in the Fragment Shader.
I finally found the error. It was just wrong export settings, I just didn't expect that to have this sort of impact. In 3ds Max I changed the projection options -> normal map space -> red: right to red: left What a gigantic waste of time.
Top 50 recent answers are included