?? model.h
字號:
// Model.h: interface for the Model class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_MODEL_H__E1E40BB7_CEB8_4CF8_A4F9_3B854BE7322D__INCLUDED_)
#define AFX_MODEL_H__E1E40BB7_CEB8_4CF8_A4F9_3B854BE7322D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Texture.h"
class Model
{
public:
// 網格
struct Mesh
{
int m_materialIndex;
int m_numTriangles;
int *m_pTriangleIndices;
};
// 材質屬性
struct Material
{
float m_ambient[4], m_diffuse[4], m_specular[4], m_emissive[4];
float m_shininess;
GLuint m_texture;
char *m_pTextureFilename;
};
// 三角形結構
struct Triangle
{
float m_vertexNormals[3][3];
float m_s[3], m_t[3];
int m_vertexIndices[3];
};
// 頂點結構
struct Vertex
{
char m_boneID;
float m_location[3];
};
public:
Model();
virtual ~Model();
// 將紋理數據輸入到變量中
virtual bool loadModelData( const char *filename ) = 0;
// 繪制模型
void draw();
void reloadTextures();
Texture m_texture;
protected:
// 使用的網格
int m_numMeshes;
Mesh *m_pMeshes;
// 使用的材質
int m_numMaterials;
Material *m_pMaterials;
// 使用的三角形
int m_numTriangles;
Triangle *m_pTriangles;
// 使用的頂點
int m_numVertices;
Vertex *m_pVertices;
};
#endif // !defined(AFX_MODEL_H__E1E40BB7_CEB8_4CF8_A4F9_3B854BE7322D__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -