-struct hit *ray_sphere(struct ray *ray, csg_object *o);
-struct hit *ray_cylinder(struct ray *ray, csg_object *o);
-struct hit *ray_plane(struct ray *ray, csg_object *o);
-struct hit *ray_csg_un(struct ray *ray, csg_object *o);
-struct hit *ray_csg_isect(struct ray *ray, csg_object *o);
-struct hit *ray_csg_sub(struct ray *ray, csg_object *o);
+struct hinterv *ray_sphere(struct ray *ray, csg_object *o);
+struct hinterv *ray_cylinder(struct ray *ray, csg_object *o);
+struct hinterv *ray_plane(struct ray *ray, csg_object *o);
+struct hinterv *ray_box(struct ray *ray, csg_object *o);
+struct hinterv *ray_csg_un(struct ray *ray, csg_object *o);
+struct hinterv *ray_csg_isect(struct ray *ray, csg_object *o);
+struct hinterv *ray_csg_sub(struct ray *ray, csg_object *o);