+ struct rayhit hit;
+
+ if(ray_level(ray, &lvl, FLT_MAX, &hit)) {
+ color->x = hit.v.norm.x * 0.5 + 0.5;
+ color->y = hit.v.norm.y * 0.5 + 0.5;
+ color->z = hit.v.norm.z * 0.5 + 0.5;
+ } else {
+ bgcolor(color, ray);
+ }
+}
+
+static void bgcolor(cgm_vec3 *color, cgm_ray *ray)
+{
+ color->x = color->y = color->z = 1.0f;