home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / RAYTRACE / RT / COL.H < prev    next >
C/C++ Source or Header  |  1994-05-22  |  2KB  |  40 lines

  1. /*
  2.  
  3. COL.H  Interface to colour code
  4.  
  5. When evaluating a colour, 3 values are passed as p0,p1,p2.
  6. Some types of colour modify these and call on recursively.
  7.  
  8. */
  9.  
  10. typedef void COL;
  11.  
  12. extern COL *create_const_col(RGBVEC rgbvec);
  13. extern COL *create_no_move_col(COL *col);
  14. extern COL *create_interp0_col(COL *col);
  15. extern COL *create_interp1_col(COL *col);
  16. extern COL *create_interp2_col(COL *col);
  17. extern COL *create_2d_field_col(double bx, double by, BITMAP *bitmap);
  18. extern COL *create_3d_field_col(double bx, double by, double bz, TEX *tex);
  19. extern COL *create_remap_col(VECTOR base, VECTOR v0, VECTOR v1, VECTOR v2, COL *col);
  20. extern COL *create_cyl_polar_col(double lond, double rd, double hd, COL *col);
  21. extern COL *create_sph_polar_col(double lond, double latd, double rd, COL *col);
  22. extern COL *create_2d_matrix_col(double m[2][2], COL *col);
  23. extern COL *create_3d_matrix_col(double m[3][3], COL *col);
  24.  
  25. extern COL *copy_col(COL *col);
  26.  
  27. extern void destroy_col(COL *col);
  28.  
  29. extern void trans_x_col(COL *col, double t);
  30. extern void trans_y_col(COL *col, double t);
  31. extern void trans_z_col(COL *col, double t);
  32. extern void scale_x_col(COL *col, double factor);
  33. extern void scale_y_col(COL *col, double factor);
  34. extern void scale_z_col(COL *col, double factor);
  35. extern void rot_x_col(COL *col, double angle);
  36. extern void rot_y_col(COL *col, double angle);
  37. extern void rot_z_col(COL *col, double angle);
  38.  
  39. extern RGBVEC evaluate_col(COL *col, double p0, double p1, double p2);
  40.