model.h

来自「小游戏 linux very happy」· C头文件 代码 · 共 74 行

H
74
字号
#ifndef MODEL_H#define MODEL_H#ifdef __cplusplusextern "C" {#endif#define MAX_VERTICES 30000#define MAX_FACES 20000#define MAX_NORMALS 30000#define MAX_MATERIALS 200#define BUF_SIZE 120#define NO_SDL_GLEXT#include "SDL_opengl.h"// #include <GL/gl.h>#include "Nebu_base.h"#include "Nebu_filesystem.h"typedef struct {  float ambient[4];  float diffuse[4];  float specular[4];  float shininess;  char *name;  char *map_diffuse;} Material;typedef struct {  vec3 vMin;  vec3 vSize;  float fRadius;} BoundingBox;typedef struct {  GLfloat *pVertices;  GLfloat *pNormals;  GLshort **ppIndices;  int nVertices, nNormals, nMaterials;  Material* pMaterials;  int *pnFaces;  BoundingBox BBox;} Mesh;typedef enum {  TRI_MESH,  QUAD_MESH} MeshType;    extern Mesh* readMeshFromFile(const char* filename, MeshType type);extern void drawModel(Mesh* pMesh, MeshType type);extern void drawModelExplosion(Mesh *pMesh, float fRadius);typedef enum {  eAmbient = 0,  eDiffuse,  eSpecular} ColorType;extern void SetMaterialColor(Mesh *pMesh, char *name, ColorType eType,			     float pColor[4]);extern void computeBBox(Mesh* pMesh);extern int polycount;#ifdef __cplusplus}#endif /* __cplusplus */#endif /* MODEL_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?