I try to approximate correct normals manually after moving vertices in the vertex shader. For example when I rotate vertices I rotate the normal as well, or when the movement is sine based I add cosine values with the same argument. It's not exact but with the normalization in the pixel shader it oftentimes improves the result over leaving the normal unchanged.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends