Clipper.h
上传用户:lhwx1029
上传日期:2013-03-07
资源大小:1173k
文件大小:2k
源码类别:

3D图形编程

开发平台:

Visual C++

  1. #if !defined(_CLIPPER_H_)
  2. #define _CLIPPER_H_
  3. /** 3DGPL *************************************************
  4.  * ()                                                     *
  5.  * Header for clipping functions.                         *
  6.  *                                                        *
  7.  * Files:                                                 *
  8.  *  clipp-2d.c               3-D volume and Z clipping;   *
  9.  *  clipp-3d.c               2-D plane clipping.          *
  10.  *                                                        *
  11.  * (c) 1995-98 Sergei Savchenko, (savs@cs.mcgill.ca)      *
  12. **********************************************************/
  13. #include "RayTracing.h"           /* screen dimensions */
  14. #define C_MAX_DIMENSIONS               8    /* X Y Z R G B Tx Ty */
  15. #define C_Z_CLIPPING_MIN              10    /* where z plane is */
  16. #define C_X_CLIPPING_MIN               0    /* clipping cube */
  17. #define C_X_CLIPPING_MAX HW_SCREEN_X_MAX
  18. #define C_Y_CLIPPING_MIN               0
  19. #define C_Y_CLIPPING_MAX HW_SCREEN_Y_MAX
  20. #define C_TOLERANCE                    1    /* when to stop xyz clipping */
  21. void C_init_clipping(int minx,int miny,int maxx,int maxy);
  22. void C_get_bounds(int *minx,int *miny,int *maxx,int *maxy);
  23. int C_set_bounds(int minx,int miny,int maxx,int maxy);
  24. int C_line_x_clipping(int **vertex1,int **vertex2,int dimension);
  25. int C_line_y_clipping(int **vertex1,int **vertex2,int dimension);
  26. int C_polygon_x_clipping(int *from,int *to,int dimension,int length);
  27. int C_volume_clipping(int *min,int *max);
  28. int C_line_z_clipping(int **vertex1,int **vertex2,int dimension);
  29. int C_polygon_z_clipping(int *from,int *to,int dimension,int length);
  30. int C_line_xyz_clipping(int **vertex1,int **vertex2,
  31.                         int *by1,int *by2,int *by3,
  32.                         int dimension
  33.                        );
  34. int C_polygon_xyz_clipping(int *from,int *to,
  35.                            int *by1,int *by2,int *by3,
  36.                            int dimension,int length
  37.                           );
  38. /**********************************************************/
  39. #endif