- if (file == NULL) {
- fprintf(stderr, "Cannot read %s: %s\n", filename, strerror(errno));
- return NULL;
+ s->ambient = color_new((scal_t)r, (scal_t)g, (scal_t)b, S(1.0));
+ return 0;
+}
+
+static int _scene_add_light(scene_t* s, FILE* file)
+{
+ double lx, ly, lz, dr, dg, db, sr, sg, sb;
+ if (fscanf(file, " %lf %lf %lf %lf %lf %lf %lf %lf %lf",
+ &lx, &ly, &lz, &dr, &dg, &db, &sr, &sg, &sb) != 9) {
+ fprintf(stderr, "Cannot read light values from scene.\n");
+ return -1;