Direct3D9について質問です。
メッシュオブジェクト描画の際に
ワールド変換行列にスケーリング要素が含まれていると
法線までスケーリングされてしまうようで、ライティング計算が正確に行われず困っております。

とりあえず、私が試した方法は、
IDirect3DDevice9::SetRenderState(D3DRS_NORMALIZENORMALS, TRUE)、
自前ライティング、自前頂点変換の3点です。

これら以外に、この問題を解決する、うまい手法はあるのでしょうか?
そもそも何故、スケーリング行列は法線までスケーリングしてしまうのでしょうか?
どうか教えて下さい。お願いします。