--- ray/src/cv/pkgBSDF.c 2011/09/16 15:08:16 2.3 +++ ray/src/cv/pkgBSDF.c 2013/08/11 00:54:12 2.6 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: pkgBSDF.c,v 2.3 2011/09/16 15:08:16 greg Exp $"; +static const char RCSid[] = "$Id: pkgBSDF.c,v 2.6 2013/08/11 00:54:12 greg Exp $"; #endif /* * Take BSDF XML file and generate a referencing Radiance object @@ -87,7 +87,7 @@ cvtBSDF(char *fname) { int retOK; SDData myBSDF; - char *pname; + char *pname, *fnbeg; /* find and load the XML file */ retOK = strlen(fname); if (retOK < 5 || strcmp(fname+retOK-4, ".xml")) { @@ -99,8 +99,11 @@ cvtBSDF(char *fname) fprintf(stderr, "%s: cannot find BSDF file\n", fname); return(0); } + fnbeg = strrchr(fname, DIRSEP); + if (fnbeg != NULL) /* eliminate directory */ + fname = fnbeg+1; SDclearBSDF(&myBSDF, fname); - if (SDreportEnglish(SDloadFile(&myBSDF, pname), stderr)) + if (SDreportError(SDloadFile(&myBSDF, pname), stderr)) return(0); retOK = (myBSDF.dim[0] > FTINY) & (myBSDF.dim[1] > FTINY); if (!retOK) { @@ -113,6 +116,9 @@ cvtBSDF(char *fname) retOK = (freopen(rname, "w", stdout) != NULL); } if (retOK) { + if (myBSDF.matn[0] && myBSDF.makr[0]) + printf("# Material '%s' by '%s'\n\n", + myBSDF.matn, myBSDF.makr); if (myBSDF.mgf == NULL) { faceBSDF(&myBSDF, .0); } else {