面法線からスムーズシェーディング用の頂点法線を算出する

提供: MonoBook
2021年3月1日 (月) 02:04時点におけるAdministrator (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

「頂点を共有する面たち」の面法線を全部足して最後に正規化するとスムーズシェーディング用の頂点法線となる。

// 面法線を全部足す
var sum = new vector3(0);
foreach (var plane in vertex.planes) {
    sum += plane.normal;
}
// 正規化する
vertex.normal = sum.normalize();

関連項目[編集 | ソースを編集]