⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bspload.h

📁 最新osg包
💻 H
字号:
#ifndef BSPLOAD_H#define BSPLOAD_H#include <osg/Vec3f>#include <osg/GL>#include <vector>#include <string>#include <fstream>//Directory entry in headerclass BSP_DIRECTORY_ENTRY{public:    int m_offset;    int m_length;};//Types of directory entryenum BSP_DIRECTORY_ENTRY_TYPE{    bspEntities=0,    bspTextures,    bspPlanes,    bspNodes,    bspLeaves,    bspLeafFaces,    bspLeafBrushes,    bspModels,    bspBrushes,    bspBrushSides,    bspVertices,    bspMeshIndices,    bspEffect,    bspFaces,    bspLightmaps,    bspLightVols,    bspVisData};//BSP file headerclass BSP_HEADER{public:  char m_string[4];  int m_version;  BSP_DIRECTORY_ENTRY m_directoryEntries[17];};//vertex as found in fileclass BSP_LOAD_VERTEX{public:  osg::Vec3f m_position;  float m_decalS, m_decalT;  float m_lightmapS, m_lightmapT;  osg::Vec3f m_normal;  unsigned char m_color[4];};struct BSP_LoadPlane{  osg::Vec3f m_Normal;  float      m_Dist;};//face as found in the fileclass BSP_LOAD_FACE{public:  int m_texture;  int m_effect;  // No se usa  int m_type;  int m_firstVertexIndex;  int m_numVertices;  unsigned int m_firstMeshIndex;  unsigned int m_numMeshIndices;  int m_lightmapIndex;  int m_lightmapStart[2]; // No se usa  int m_lightmapSize[2];  // No se usa  //VECTOR3D m_lightmapOrigin;  // No se usa  //VECTOR3D m_sTangent, m_tTangent;  // No se usa  //VECTOR3D m_normal;  // No se usa  osg::Vec3f m_lightmapOrigin;  // No se usa  osg::Vec3f m_sTangent, m_tTangent;  // No se usa  osg::Vec3f m_normal;  // No se usa  int m_patchSize[2];};//texture as found in fileclass BSP_LOAD_TEXTURE{public:  char m_name[64];  int m_flags, m_contents;    //unknown, no se usa};//lightmap as found in fileclass BSP_LOAD_LIGHTMAP{public:  unsigned char m_lightmapData[128*128*3];};//leaf of bsp tree as found in fileclass BSP_LOAD_LEAF{public:  int m_cluster;    //cluster index for visdata  int m_area;       //areaportal area,   No se usa  int m_mins[3];    //min x,y,z (bounding box)  int m_maxs[3];  int m_firstLeafFace;  //first index in leafFaces array  int m_numFaces;  int m_firstLeafBrush; //first index into leaf brushes array, No se usa  int m_numBrushes;     // No se usa};//node of BSP treeclass BSP_NODE{public:  int m_planeIndex;  int m_front, m_back;    //child nodes  int m_mins[3];    //min x,y,z (bounding box)  No se usa  int m_maxs[3];    // No se usa};//VIS data tableclass BSP_VISIBILITY_DATA{public:  int m_numClusters;  int m_bytesPerCluster;  std::vector<unsigned char> m_bitset;};class BSPLoad{public:  bool Load(const std::string& filename, int curveTessellation);  void LoadVertices(std::ifstream& aFile);  void LoadFaces(std::ifstream& aFile, int curveTessellation);  void LoadTextures(std::ifstream& aFile);  void LoadLightmaps(std::ifstream& aFile);  void LoadBSPData(std::ifstream& aFile);  std::string m_entityString;  //header  BSP_HEADER m_header;  // Load Data  std::vector<BSP_LOAD_VERTEX>    m_loadVertices;  std::vector<GLuint>             m_loadMeshIndices;  std::vector<BSP_LOAD_FACE>      m_loadFaces;  std::vector<BSP_LOAD_TEXTURE>   m_loadTextures;  std::vector<BSP_LOAD_LIGHTMAP>  m_loadLightmaps;  std::vector<BSP_LOAD_LEAF>      m_loadLeaves;  std::vector<int>                m_loadLeafFaces;  std::vector<BSP_LoadPlane>      m_loadPlanes;  std::vector<BSP_NODE>           m_loadNodes;  BSP_VISIBILITY_DATA             m_loadVisibilityData;};#endif  // BSPLOAD_H 

⌨️ 快捷键说明

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