殺虫侍
読み取り中…
検索中…
一致する文字列を見つけられません
Model クラスabstract

Assimp で読み込んだ 3D モデルを管理する基底クラス [詳解]

#include <model.h>

Model の継承関係図
BoxModel StageModel WeaponModel

公開メンバ関数

 Model ()
 コンストラクタ
 ~Model ()
 デストラクタ
bool Setup (Renderer &renderer, const char *filePath)
 モデルファイルを読み込んでメッシュを構築する
void Terminate ()
 メッシュリソースを解放する
void Draw ()
 全メッシュを描画する
void ProcessNode (aiNode *node, const DirectX::XMMATRIX &parentTransform)
 Assimp のノード階層を再帰的に処理してメッシュを構築する
void SetPosition (const DirectX::XMFLOAT3 &pos)
 モデルのワールド座標を設定する
void SetRotation (const DirectX::XMFLOAT4 &rot)
 モデルの回転を設定する
void SetScale (const DirectX::XMFLOAT3 &scale)
 モデルのスケールを設定する
void SetPivot (const DirectX::XMFLOAT3 &pivot)
 回転のピボット座標を設定する
void SetPivotRotation (const DirectX::XMFLOAT4 &rot)
 ピボットを中心とした追加回転を設定する
void ChangeMaterial ()
 マテリアルを全メッシュに再適用する

限定公開メンバ関数

virtual void initializeMaterialSet (int idx, aiMaterial *mat)=0
 インデックス idx のメッシュにマテリアルを設定する(サブクラスで実装)

限定公開変数類

Rendererm_pRenderer = nullptr
 レンダラーへのポインタ
MaterialSet m_materialSets [10]
 マテリアルセット配列(最大10)

詳解

Assimp で読み込んだ 3D モデルを管理する基底クラス

ノード階層をトラバースしてメッシュを構築し、 ワールドトランスフォーム(位置・回転・スケール・ピボット)を提供する。 マテリアルの初期化はサブクラスが実装する。

構築子と解体子

◆ Model()

Model::Model ( )

コンストラクタ

◆ ~Model()

Model::~Model ( )

デストラクタ

関数詳解

◆ ChangeMaterial()

void Model::ChangeMaterial ( )

マテリアルを全メッシュに再適用する

◆ Draw()

void Model::Draw ( )

全メッシュを描画する

◆ initializeMaterialSet()

virtual void Model::initializeMaterialSet ( int idx,
aiMaterial * mat )
protectedpure virtual

インデックス idx のメッシュにマテリアルを設定する(サブクラスで実装)

引数
idxメッシュインデックス
matAssimp のマテリアルデータ

BoxModel, StageModel, WeaponModelで実装されています。

◆ ProcessNode()

void Model::ProcessNode ( aiNode * node,
const DirectX::XMMATRIX & parentTransform )

Assimp のノード階層を再帰的に処理してメッシュを構築する

引数
node処理対象のノード
parentTransform親ノードのワールド変換行列

◆ SetPivot()

void Model::SetPivot ( const DirectX::XMFLOAT3 & pivot)

回転のピボット座標を設定する

引数
pivotピボット座標

◆ SetPivotRotation()

void Model::SetPivotRotation ( const DirectX::XMFLOAT4 & rot)

ピボットを中心とした追加回転を設定する

引数
rot回転クォータニオン

◆ SetPosition()

void Model::SetPosition ( const DirectX::XMFLOAT3 & pos)

モデルのワールド座標を設定する

引数
pos座標

◆ SetRotation()

void Model::SetRotation ( const DirectX::XMFLOAT4 & rot)

モデルの回転を設定する

引数
rot回転クォータニオン

◆ SetScale()

void Model::SetScale ( const DirectX::XMFLOAT3 & scale)

モデルのスケールを設定する

引数
scaleスケール値

◆ Setup()

bool Model::Setup ( Renderer & renderer,
const char * filePath )

モデルファイルを読み込んでメッシュを構築する

引数
renderer3Dレンダラーの参照
filePathモデルファイルのパス
戻り値
成功すれば true

◆ Terminate()

void Model::Terminate ( )

メッシュリソースを解放する

メンバ詳解

◆ m_materialSets

MaterialSet Model::m_materialSets[10]
protected

マテリアルセット配列(最大10)

◆ m_pRenderer

Renderer* Model::m_pRenderer = nullptr
protected

レンダラーへのポインタ


このクラス詳解は次のファイルから抽出されました: