-
Notifications
You must be signed in to change notification settings - Fork 0
/
model.h
58 lines (43 loc) · 1.43 KB
/
model.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//=============================================================================
//
// モデルの処理 [model.h]
// Author :
//
//=============================================================================
#pragma once
#include "main.h"
#include "renderer.h"
//*********************************************************
// 構造体
//*********************************************************
// マテリアル構造体
#define MODEL_MAX_MATERIAL (16) // 1モデルのMaxマテリアル数
struct DX11_MODEL_MATERIAL
{
MATERIAL Material;
ID3D11ShaderResourceView *Texture;
};
// 描画サブセット構造体
struct DX11_SUBSET
{
unsigned short StartIndex;
unsigned short IndexNum;
DX11_MODEL_MATERIAL Material;
};
struct DX11_MODEL
{
ID3D11Buffer* VertexBuffer;
ID3D11Buffer* IndexBuffer;
DX11_SUBSET *SubsetArray;
unsigned short SubsetNum;
};
//*****************************************************************************
// プロトタイプ宣言
//*****************************************************************************
void LoadModel( char *FileName, DX11_MODEL *Model );
void UnloadModel( DX11_MODEL *Model );
void DrawModel( DX11_MODEL *Model );
// モデルのマテリアルのディフューズを取得する。Max16個分にしてある
void GetModelDiffuse(DX11_MODEL *Model, XMFLOAT4 *diffuse);
// モデルの指定マテリアルのディフューズをセットする。
void SetModelDiffuse(DX11_MODEL *Model, int mno, XMFLOAT4 diffuse);