殺虫侍
Toggle main menu visibility
読み取り中…
検索中…
一致する文字列を見つけられません
mesh.h
[詳解]
1
7
#pragma once
8
#include "
material.h
"
9
10
struct
aiMesh;
11
struct
Vertex
;
12
class
Renderer
;
13
20
class
Mesh
21
{
22
public
:
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
62
private
:
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
};
Mesh::SetLocalTransform
void SetLocalTransform(const DirectX::XMMATRIX &mtx)
ローカル変換行列を設定する
Definition
mesh.cpp:151
Mesh::Mesh
Mesh()
コンストラクタ
Definition
mesh.cpp:6
Mesh::Setup
bool Setup(Renderer &renderer, aiMesh *pMeshData, MaterialSet &mat)
Assimp のメッシュデータから GPU バッファを構築する
Definition
mesh.cpp:16
Mesh::ChangeMaterial
void ChangeMaterial(MaterialSet &mat)
マテリアルを切り替える
Definition
mesh.cpp:179
Mesh::~Mesh
~Mesh()
デストラクタ
Definition
mesh.cpp:11
Mesh::Terminate
void Terminate()
GPU バッファを解放する
Definition
mesh.cpp:68
Mesh::GetLocalTransform
const DirectX::XMFLOAT4X4 & GetLocalTransform() const
ローカル変換行列を取得する
Definition
mesh.h:54
Mesh::Draw
void Draw()
メッシュを描画する
Definition
mesh.cpp:130
Renderer
Direct3D 11 デバイスとスワップチェーンを管理するレンダラークラス
Definition
renderer.h:21
material.h
マテリアル用データ構造体の定義
MaterialSet
マテリアルのデータ・テクスチャ・シェーダー・GPU バッファをまとめた構造体
Definition
material.h:26
Vertex
3D 頂点の座標・カラー・法線・UV を保持する構造体
Definition
vertex.h:15
scripts
renderer
mesh.h
構築:
1.17.0