ねねチャレ 4日目「モデル描画」

4日目!

ミスりました。 平日にやるボリュームではない・・・。

今日の目的

「モ デ ル」を描画します! 簡単なのでobjモデルで行います。

モデル描画

object形式のモデルの描画です。 (.gitignoreと競合するため拡張子は.objectにしてあります)

gist.github.com

大まかな流れはこんな感じです。

メッシュの生成 : 52行目 CreateMeshEntity関数

メッシュですが、以下の定義で行いました。

  • 内包メッシュは無し
  • 法線と座標のみの構成
  • アニメーション無し
  • インデックスバッファを使用
マテリアルの生成156 行目 CreateMaterialEntity関数

今回は

  • Diffuse
  • Ambient
  • Specular
  • Emissive;
  • Power

で構成されています。
今回はメッシュとマテリアルが1:1以外の関係は考慮しません。
不透明も考慮しません。

レンダリング

三日目 ねねチャレ 3日目「ポリゴンのレンダリングとUtility」 - どろまえ!

と同じフローでレンダリングしました。
リソース部が変わっただけです。

まとめ

モデルまでがでくるとようやくゲームプログラミングしてる感出てきますw
fbxとobjのどちらをやるかで迷いましたが、工数と仕様の関係でobjを選択しました。
ほぼ何でもできて面白そうなFbxと工数のかからないobj・・・。技術選定の難しさを学んだ気がします。

冒頭にも匂わせましたが、技術選定の時間が思った以上にかかってしまったので最低限のコードしか準備できませんでした。
そろそろ、全体的にリファクタしたかったのも有って、今日行えなかったクラス化とリファクタと明日の内容にしたいと思います。

5日目は「リファクタ」を行う予定です!

進捗!

f:id:himatyu:20180313031444g:plain github.com