C++ demos: prepare infrastructure, add spheres_shadow.cc
rename Ray::a to Ray::o
KdNode::shapes changed to pointer and added to union together with *children (to save memory)
#ifndef IMAGE_H
#define IMAGE_H
#define IMG_GRAYSCALE 1
#define IMG_RGB 3
/* raw image */
struct image {
int pixel_size; /* should be 1 for grayscale and 3 for RGB*/
int width;
int height;
char *data;
};
int new_image(struct image **img, int width, int height, int pixelsize);
int destroy_image(struct image **img);
int save_png(const char *fname, struct image *img);
#endif