殺虫侍
読み取り中…
検索中…
一致する文字列を見つけられません
mesh.h
[詳解]
1
7#pragma once
8#include "material.h"
9
10struct aiMesh;
11struct Vertex;
12class Renderer;
13
20class Mesh
21{
22public:
24 Mesh();
25
27 ~Mesh();
28
36 bool Setup(Renderer& renderer, aiMesh* pMeshData, MaterialSet& mat);
37
39 void Terminate();
40
42 void Draw();
43
48 void SetLocalTransform(const DirectX::XMMATRIX& mtx);
49
54 const DirectX::XMFLOAT4X4& GetLocalTransform() const { return m_localTransform; }
55
60 void ChangeMaterial(MaterialSet& mat);
61
62private:
64 bool createVertexBuffer();
66 bool createIndexBuffer();
68 void destroyVertexBuffer();
70 void destroyIndexBuffer();
72 bool createMaterialBuffer();
74 void setMaterial();
75
76 Renderer* m_pRenderer;
77
78 Vertex* m_vertices = nullptr;
79 unsigned int* m_indices = nullptr;
80 unsigned int m_vertexNum = 0;
81 unsigned int m_indexNum = 0;
82
83 ID3D11Buffer* m_vertexBuffer = nullptr;
84 ID3D11Buffer* m_indexBuffer = nullptr;
85
86 DirectX::XMFLOAT4X4 m_localTransform;
87
88 MaterialSet* m_pMaterialSet;
89};
void SetLocalTransform(const DirectX::XMMATRIX &mtx)
ローカル変換行列を設定する
Definition mesh.cpp:151
Mesh()
コンストラクタ
Definition mesh.cpp:6
bool Setup(Renderer &renderer, aiMesh *pMeshData, MaterialSet &mat)
Assimp のメッシュデータから GPU バッファを構築する
Definition mesh.cpp:16
void ChangeMaterial(MaterialSet &mat)
マテリアルを切り替える
Definition mesh.cpp:179
~Mesh()
デストラクタ
Definition mesh.cpp:11
void Terminate()
GPU バッファを解放する
Definition mesh.cpp:68
const DirectX::XMFLOAT4X4 & GetLocalTransform() const
ローカル変換行列を取得する
Definition mesh.h:54
void Draw()
メッシュを描画する
Definition mesh.cpp:130
Direct3D 11 デバイスとスワップチェーンを管理するレンダラークラス
Definition renderer.h:21
マテリアル用データ構造体の定義
マテリアルのデータ・テクスチャ・シェーダー・GPU バッファをまとめた構造体
Definition material.h:26
3D 頂点の座標・カラー・法線・UV を保持する構造体
Definition vertex.h:15