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; };