2000-02-18 21:59:18 +08:00
|
|
|
#ifndef __MAPOBJECT_SHADE_H__
|
|
|
|
#define __MAPOBJECT_SHADE_H__
|
1998-03-20 10:42:24 +08:00
|
|
|
|
2001-01-02 02:35:09 +08:00
|
|
|
typedef GimpRGB (* get_ray_color_func) (GimpVector3 *pos);
|
1998-03-20 10:42:24 +08:00
|
|
|
|
|
|
|
extern get_ray_color_func get_ray_color;
|
|
|
|
|
2001-01-02 02:35:09 +08:00
|
|
|
GimpRGB get_ray_color_plane (GimpVector3 *pos);
|
|
|
|
GimpRGB get_ray_color_sphere (GimpVector3 *pos);
|
|
|
|
GimpRGB get_ray_color_box (GimpVector3 *pos);
|
|
|
|
GimpRGB get_ray_color_cylinder (GimpVector3 *pos);
|
2000-12-30 08:23:34 +08:00
|
|
|
void compute_bounding_box (void);
|
2000-02-18 21:59:18 +08:00
|
|
|
|
2000-12-30 08:23:34 +08:00
|
|
|
void vecmulmat (GimpVector3 *u,
|
2011-02-20 22:23:22 +08:00
|
|
|
GimpVector3 *v,
|
|
|
|
gfloat m[16]);
|
2000-12-30 08:23:34 +08:00
|
|
|
void rotatemat (gfloat angle,
|
2011-02-20 22:23:22 +08:00
|
|
|
GimpVector3 *v,
|
|
|
|
gfloat m[16]);
|
2000-12-30 08:23:34 +08:00
|
|
|
void transpose_mat (gfloat m[16]);
|
|
|
|
void matmul (gfloat a[16],
|
2011-02-20 22:23:22 +08:00
|
|
|
gfloat b[16],
|
|
|
|
gfloat c[16]);
|
2000-12-30 08:23:34 +08:00
|
|
|
void ident_mat (gfloat m[16]);
|
1998-03-20 10:42:24 +08:00
|
|
|
|
2000-02-18 21:59:18 +08:00
|
|
|
#endif /* __MAPOBJECT_SHADE_H__ */
|