Presentation is loading. Please wait.

Presentation is loading. Please wait.

第11回 オブジェクト(ベクトル,頂点,面)のクラス化とフラットシェーディング

Similar presentations


Presentation on theme: "第11回 オブジェクト(ベクトル,頂点,面)のクラス化とフラットシェーディング"— Presentation transcript:

1 第11回 オブジェクト(ベクトル,頂点,面)のクラス化とフラットシェーディング
  オブジェクト(ベクトル,頂点,面)のクラス化とフラットシェーディング 卒業研究1 2011年度 卒業研究1 第11回 Dec. 5, 2011

2 第11回の内容 3Dオブジェクトについて オブジェクトのクラス化1(ベクトル,頂点,面) オブジェクトのクラス化2(UV座標,オブジェクト)
作成したmqoファイルの中身を理解 オブジェクトのクラス化1(ベクトル,頂点,面) コンストラクタとコピーコンストラクタについて std::vectorについて オブジェクトのクラス化2(UV座標,オブジェクト) 第12回で 2011年度 卒業研究1 第11回 Dec. 5, 2011

3 mqoファイルのフォーマット Metasequoia Document Format Text Ver 1.0 Scene { }
“ファイルフォーマット”, mqoファイルのフォーマット Metasequoia Document Format Text Ver 1.0 ヘッダ情報 Scene { } 視点情報 Material %d { } 材質情報 ↑ 材質数 Object " %s " { } オブジェクト情報 ↑ オブジェクト名 Eof フッタ情報 2011年度 卒業研究1 第11回 Dec. 5, 2011

4 mqoファイルの視点と材質情報 Scene { pos 0.0000 0.0000 1500.0000
“ファイルフォーマット”, mqoファイルの視点と材質情報 Scene {   pos   lookat   head   pich   ortho 0   zoom   amb } Material %d { ← 材質数   “%s” shader(%d) col(%.3f %.3f %.3f %.3f) dif(%.3f) amb(%.3f) emi(%.3f) spc(%.3f) power(%.2f) tex(“%s") } %s 材質名 ルート直下を0として深くなるごとに+1 shader(%d) シェーダ 0 : Classic, 1 : Constant, 2 : Lambert, 3 : Phong, 4 : Blinn col(%.3f %.3f %.3f %.3f) 色(RGB), 不透明度 それぞれ0~1 dif(%.3f) 拡散光 0~1 amb(%.3f) 周囲光 emi(%.3f) 自己照明 spc(%.3f) 反射光 power(%.2f) 反射光の強さ 0~100 tex(“%s") 模様マッピング名 相対パスで記述(63Byte以内) 2011年度 卒業研究1 第11回 Dec. 5, 2011

5 mqoファイルのオブジェクト情報 Object “%s” { ← オブジェクト名 ~~ vertex %d { ← 頂点の数
“ファイルフォーマット”, mqoファイルのオブジェクト情報 Object “%s” { ← オブジェクト名   ~~   vertex %d { ← 頂点の数     X座標 Y座標 Z座標   }   face %d { ← 面の数     頂点数 V(頂点ID) M(材質ID) UV(各頂点に対応するUV座標) } depth %d 階層の深さ ルート直下を0として深くなるごとに+1 folding %d オブジェクトパネル上の 階層の折りたたみ 0 : 通常表示 1 : 子オブジェクトを折りたたんで非表示に scale %.6f %.6f %.6f ローカル座標の拡大率 XYZ rotation %.6f %.6f %.6f ローカル座標の回転角 HPB (Hはヘディング, Pはピッチ, Bはバンク) translation %.6f %.6f %.6f ローカル座標の平行移動量 visible %d 表示・非表示 0 : 非表示, 15 : 表示 locking %d オブジェクトの固定 0 : 編集可能, 1 : 編集禁止 shading %d シェーディング 0 : フラットシェーディング, 1 : グローシェーディング facet %.1f スムージング角度 0~180 color %.3f %.3f %.3f 色(RGB) それぞれ0~1 color_type %d 辺の色タイプ 0 : 環境設定での色を使用, 1 : オブジェクト固有の色を使用 具体例を載せる 2011年度 卒業研究1 第11回 Dec. 5, 2011

6 ここまでのまとめ 3Dオブジェクト (四面体) mqoファイルの中身 視点 材質 物体 頂点 X座標 Y座標 Z座標 面
頂点数  V(頂点ID)  M(材質ID)  UV(各頂点に対応するUV座標) 3Dオブジェクト (四面体) mqoファイルの中身 2011年度 卒業研究1 第11回 Dec. 5, 2011

7 オブジェクトのクラス化 物体(オブジェクト)クラス 材質(第13回) 頂点クラス mqoオブジェクト 面クラス 頂点 クラス化 面 シェーダ
色, 不透明度 反射特性など テクスチャ 物体(オブジェクト)クラス 頂点クラス 3次元位置座標 ベクトルクラス x 座標, y 座標, z 座標 mqoオブジェクト 面クラス 頂点ID群 材質ID 各頂点に対応するUV座標 頂点 x 座標, y 座標, z 座標 クラス化 頂点数 頂点ID群 材質ID 各頂点に対応するUV座標 UV座標クラス u 座標, v 座標 面法線ベクトル (追加) ベクトルクラス 2011年度 卒業研究1 第11回 Dec. 5, 2011

8 シェーディング 面に陰影をつけること スムースシェーディング フラットシェーディング N V2
“Shading - Wikipedia, the free encyclopedia”, シェーディング 面に陰影をつけること スムースシェーディング フラットシェーディング 各面に法線ベクトル 各頂点に法線ベクトル N V2 面法線ベクトル N = (V1-V0)×(V2-V0) 外積 V1 V0 2011年度 卒業研究1 第11回 Dec. 5, 2011


Download ppt "第11回 オブジェクト(ベクトル,頂点,面)のクラス化とフラットシェーディング"

Similar presentations


Ads by Google