/* shading.h  (Steve Hill)  1.2  5/24/90$ */

/* shading.h
 *
 * Header for shading.c
 */

#define MINIMUM_MULTIPLIER	(1.0 / 512.0)

bool_t	Diffuse PROTO((colour_t *, hit_data_t *, vector_t *, colour_t *)),
	Shadow PROTO((colour_t *, light_t *, ray_t *, solid_t *));


void	Specular PROTO((colour_t *, ray_t *, hit_data_t *,
		        vector_t *, colour_t *)),
	Ambient PROTO((colour_t *, world_t *, hit_data_t *)),
	Reflect PROTO((colour_t *, ray_t *, world_t *, hit_data_t *, real_t)),
	Transmit PROTO((colour_t *, ray_t *, world_t *, hit_data_t *, real_t)),
	SurfaceColour PROTO((colour_t *, ray_t *, world_t *,
			     hit_data_t *, real_t)),
	BackgroundColour PROTO((colour_t *, world_t *)),
	Trace PROTO((colour_t *, ray_t *, world_t *, real_t));
