LOD.H
上传用户:hjbgzhh
上传日期:2013-03-07
资源大小:295k
文件大小:2k
源码类别:

3D图形编程

开发平台:

Visual C++

  1. // Lod.h: interface for the CLod class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_LOD_H__8C91EFFD_346E_4F84_A1E4_F20F3431FFF0__INCLUDED_)
  5. #define AFX_LOD_H__8C91EFFD_346E_4F84_A1E4_F20F3431FFF0__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define DISTANCE(v1, v2) sqrt((v1[0] - v2[0]) * (v1[0] - v2[0]) + 
  10.                               (v1[2] - v2[2]) * (v1[2] - v2[2]))
  11. #define MAP 256
  12. #define QUAD_MAP (MAP + 1)
  13. #define IX_QT(x, z) (((x)%QUAD_MAP) + (((z)%QUAD_MAP) * QUAD_MAP))
  14. #define EDGE_POINT 0
  15. #define NODE_POINT 1
  16. #define UNKNOWN    2
  17. //方向的宏定义
  18. #define NORTH   0
  19. #define WEST    1
  20. #define SOUTH   2
  21. #define EAST    3
  22. #define NW      4
  23. #define NE      5
  24. #define SW      6
  25. #define SE      7
  26. #define NORTH_L 8
  27. #define NORTH_R 9
  28. #define WEST_T  10
  29. #define WEST_B  11
  30. #define SOUTH_L 12
  31. #define SOUTH_R 13
  32. #define EAST_T  14
  33. #define EAST_B  15
  34. #define texScale 64.0 
  35. #define TRUE 1
  36. #define FALSE 0
  37. #define WIDTH 4.0
  38. #define ZOOMSIZE 4
  39. #define COMP 128 
  40. #define SHIFT 7 
  41. #define FORWARD 1
  42. #define ROTATE 2
  43. #define LOOKUP 3
  44. typedef struct COLOUR 
  45. {
  46. int r,g,b;
  47. } COLOUR;
  48. class CLod  
  49. {
  50. public:
  51. CLod();
  52. virtual ~CLod();
  53. BOOL m_bFlag;
  54. void reset_quad_tree(void);
  55. void draw(int x, int z, int width, int direction);
  56. void setup_quadtree(int x, int y, int width);
  57. void draw_point(int x, int z, int width, int direction);
  58. void triangle1(int x1, int z1, int x2, int z2, int x3, int z3) ;
  59. void triangle2(int x1, int z1, int x2, int z2, int x3, int z3) ;
  60. void setColor(int x, int z); 
  61. void setVertex(int x, int z); 
  62. };
  63. #endif // !defined(AFX_LOD_H__8C91EFFD_346E_4F84_A1E4_F20F3431FFF0__INCLUDED_)