276 |
|
if (single_plane_incident >= 0) { /* function-based BSDF? */ |
277 |
|
void (*evf)(char *s) = single_plane_incident ? |
278 |
|
&eval_isotropic : &eval_anisotropic; |
279 |
< |
if (i != argc-1 || fundefined(argv[i]) != 6) |
279 |
> |
if (i != argc-1 || fundefined(argv[i]) != 6) { |
280 |
> |
fprintf(stderr, |
281 |
> |
"%s: need single function with 6 arguments: bsdf(ix,iy,iz,ox,oy,oz)\n", |
282 |
> |
progname); |
283 |
|
goto userr; |
284 |
+ |
} |
285 |
|
xml_prologue(argc, argv); /* start XML output */ |
286 |
|
if (dofwd) { |
287 |
|
input_orient = -1; |
301 |
|
return(0); |
302 |
|
} |
303 |
|
if (i < argc) { /* open input files if given */ |
304 |
< |
xml_prologue(argc, argv); /* start XML output */ |
304 |
> |
int nbsdf = 0; |
305 |
|
for ( ; i < argc; i++) { /* interpolate each component */ |
306 |
|
FILE *fpin = fopen(argv[i], "rb"); |
307 |
|
if (fpin == NULL) { |
312 |
|
if (!load_bsdf_rep(fpin)) |
313 |
|
return(1); |
314 |
|
fclose(fpin); |
315 |
+ |
if (!nbsdf++) /* start XML on first dist. */ |
316 |
+ |
xml_prologue(argc, argv); |
317 |
|
if (single_plane_incident) |
318 |
|
eval_isotropic(NULL); |
319 |
|
else |