殺虫侍
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
model.h
[詳解]
1
7
#pragma once
8
#include "
material.h
"
9
10
class
Renderer
;
11
class
Mesh
;
12
class
aiNode;
13
class
aiMaterial;
14
22
class
Model
23
{
24
public
:
26
Model
();
27
29
~Model
();
30
37
bool
Setup
(
Renderer
& renderer,
const
char
* filePath);
38
40
void
Terminate
();
41
43
void
Draw
();
44
50
void
ProcessNode
(aiNode* node,
const
DirectX::XMMATRIX& parentTransform);
51
56
void
SetPosition
(
const
DirectX::XMFLOAT3& pos);
57
62
void
SetRotation
(
const
DirectX::XMFLOAT4& rot);
63
68
void
SetScale
(
const
DirectX::XMFLOAT3& scale);
69
74
void
SetPivot
(
const
DirectX::XMFLOAT3& pivot);
75
80
void
SetPivotRotation
(
const
DirectX::XMFLOAT4& rot);
81
83
void
ChangeMaterial
();
84
85
private
:
90
DirectX::XMMATRIX getModelTransform()
const
;
91
92
Mesh
* m_meshes =
nullptr
;
93
unsigned
int
m_meshNum = 0;
94
95
DirectX::XMFLOAT3 m_position{ 0,0,0 };
96
DirectX::XMFLOAT4 m_rotation{ 0,0,0,0 };
97
DirectX::XMFLOAT3 m_scale{ 1,1,1 };
98
99
DirectX::XMFLOAT3 m_pivot = { 0,0,0 };
100
DirectX::XMFLOAT4 m_pivotRotation = { 0,0,0,0 };
101
102
protected
:
108
virtual
void
initializeMaterialSet
(
int
idx, aiMaterial* mat) = 0;
109
110
Renderer
*
m_pRenderer
=
nullptr
;
111
MaterialSet
m_materialSets
[10];
112
};
Mesh
単一メッシュのジオメトリデータと GPU バッファを管理するクラス
Definition
mesh.h:21
Model::ProcessNode
void ProcessNode(aiNode *node, const DirectX::XMMATRIX &parentTransform)
Assimp のノード階層を再帰的に処理してメッシュを構築する
Definition
model.cpp:95
Model::Draw
void Draw()
全メッシュを描画する
Definition
model.cpp:63
Model::Setup
bool Setup(Renderer &renderer, const char *filePath)
モデルファイルを読み込んでメッシュを構築する
Definition
model.cpp:18
Model::SetPivotRotation
void SetPivotRotation(const DirectX::XMFLOAT4 &rot)
ピボットを中心とした追加回転を設定する
Definition
model.cpp:152
Model::Terminate
void Terminate()
メッシュリソースを解放する
Definition
model.cpp:54
Model::initializeMaterialSet
virtual void initializeMaterialSet(int idx, aiMaterial *mat)=0
インデックス idx のメッシュにマテリアルを設定する(サブクラスで実装)
Model::ChangeMaterial
void ChangeMaterial()
マテリアルを全メッシュに再適用する
Definition
model.cpp:157
Model::SetPosition
void SetPosition(const DirectX::XMFLOAT3 &pos)
モデルのワールド座標を設定する
Definition
model.cpp:132
Model::SetRotation
void SetRotation(const DirectX::XMFLOAT4 &rot)
モデルの回転を設定する
Definition
model.cpp:137
Model::m_pRenderer
Renderer * m_pRenderer
レンダラーへのポインタ
Definition
model.h:110
Model::SetScale
void SetScale(const DirectX::XMFLOAT3 &scale)
モデルのスケールを設定する
Definition
model.cpp:142
Model::SetPivot
void SetPivot(const DirectX::XMFLOAT3 &pivot)
回転のピボット座標を設定する
Definition
model.cpp:147
Model::m_materialSets
MaterialSet m_materialSets[10]
マテリアルセット配列(最大10)
Definition
model.h:111
Model::~Model
~Model()
デストラクタ
Definition
model.cpp:13
Model::Model
Model()
コンストラクタ
Definition
model.cpp:8
Renderer
Direct3D 11 デバイスとスワップチェーンを管理するレンダラークラス
Definition
renderer.h:21
material.h
マテリアル用データ構造体の定義
MaterialSet
マテリアルのデータ・テクスチャ・シェーダー・GPU バッファをまとめた構造体
Definition
material.h:26
scripts
model
model.h
構築:
1.17.0