はじめに esprog.hatenablog.com 以前の記事で、ハイトマップを参照して動的に変形するオブジェクトのサンプルを作りました。 サンプルでは、シェーディング計算が適当でしたが、今回はちゃんとシェーディングを行うために必要になる法線情報を計算してみます。 なぜ計算が必要なのか 以前の例ではハイトマップに高さの情報を書き込みそれを元にして頂点を移動させていますが、シェーダー内で変形させているだけで、頂点の持つ法線方向には書き込みを行っているわけではありません。なので、変形させているにも関わらずCPUから送られてくる法線データには変化がありません。当然ですが・・・。 法線データへの書き込みが必要なら、ハイトマップの変更のときに法線マップにも変更を加える・・・というちょっと面倒な手順を踏む必要があります。 なので今回は、ハイトマップから法線がどの方向を向いているのかを計算させることに
![ハイトマップから法線情報の生成 - しゅみぷろ](https://cdn-ak-scissors.b.st-hatena.com/image/square/22617d809fe9d95556290fa14a74e0be73843feb/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fe%2Fes_program%2F20161024%2F20161024144710.gif)