www.pudn.com > 地表贴图.zip > Dsn.h


// DSN.h: interface for the CLoadDSN class. 
#include   
#include   
#include   
#include   
#include  "GLBase.h" 
#include  "Bmp.h" 
class CPoint3D         //顶点结构 
{ 
public: 
       float x,y,z; 
       float u,v; 
	   float dx,dy,dz; 
	   
}; 
 
class CTriangle         //三角形结构 
{ 
public: 
   int        TexIndex; 
   CPoint3D  Point3v[3]; 
}; 
 
 
class CObject3D          //对象结构 
{ 
public: 
	int NumTris; 
	CTriangle* pTri; 
}; 
 
class CBmpFiles          //纹理数据(从BMP文件导入) 
{ 
public: 
    char	fname[30]; 
     
};   
 
//********************************// 
/************CLoadDSN************/ 
//********************************// 
class CLoadDSN   
{ 
public: 
	CLoadDSN(); 
 
	virtual ~CLoadDSN();	 
 
    //计算颜色值 
	GLubyte  CalcRanch(const float&  height0); 
 
   //计算发向量 
    CPoint3D CalcNormal(CPoint3D Pnt[3]); 
 
   //计算纹理坐标 
	CPoint3D CalcTexCoord(const CPoint3D& Pnt); 
 
   //导入DSN文件 
	void ImportDSN(CObject3D* pObj,CBmpFiles** ppTexturelist,CString FileName); 
 
   //显示DSN文件 
	void DrawDSN(CDC* pDC,CObject3D* pObj,UINT m_Texture[],int mode); 
 
public:	 
	bool m_bLight; 
	CGLBase mbase; 
	static int m_MaxTexs; 
	CPoint3D minPnt,maxPnt;	 
};