タイトル | : Re^2: FBXエクスポータ 法線の数 |
投稿日 | : 2009/09/10(Thu) 01:54:29 |
投稿者 | : てぃあの |
なるほど…となると、取り扱いに困ってます。
ヒントいただけないでしょうか?
たとえば立方体の場合、1頂点座標は3面からなる共有頂点になると思います。
ですが、立方体の法線はグローシェーディングをかけるわけではないので面法線を使いたい…はずです。
ワンスキンモデルのようなメッシュの場合、グローシェーディングをかけたいので頂点法線(もしくは同座標頂点の面ごとの頂点法線が同じ方向を向くベクトル)を使いたい…はず。
滑らかにシェーディングしたい場合、共有頂点の法線は各面法線を加算して正規化すればいい…はず。
使い分けたいなら「スムージング角度」を見てとかになると思うのですが…。
ということで新たな質問が
1.FBXエクスポーターの面ごとの頂点法線には
A.面法線と同じ法線が入っている
B.滑らかなシェーディングをおこなえるような法線が入っている
2.Aだった場合「スムージング角度」みたいなデータはどこかにあったりしますでしょうか?
3.Bだった場合、面ごとの頂点法線が
共有頂点で同一ベクトルだった場合->共有頂点を分ける必要なし
そうじゃなかった場合->共有頂点を法線数分分ける
…とかになるんでしょうか?
4.せっかく面の構成をインデックスで取り扱っているので同一頂点座標であるなら頂点数は増やしたくない…と考えるのがいけないんでしょうか?
DirectXで描画してるんですが、頂点座標数 == 法線数 と思ってるんですが、もしかしてそんなことなく描画できる…とか?
※drawIndexedPrimitive
無知なのは罪…なのは重々承知してます。
どうか定石みたいなものがありましたらご教授下さい。
よろしくお願いいたします。