ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cv/obj2rad.c
(Generate patch)

Comparing ray/src/cv/obj2rad.c (file contents):
Revision 2.7 by greg, Thu Apr 14 13:36:18 1994 UTC vs.
Revision 2.9 by greg, Wed Jun 15 09:51:31 1994 UTC

# Line 70 | Line 70 | RULEHD *ourmapping = NULL;
70   char    *defmat = DEFMAT;       /* default (starting) material name */
71   char    *defobj = DEFOBJ;       /* default (starting) object name */
72  
73 + int     flatten = 0;            /* discard surface normal information */
74 +
75   char    *getmtl(), *getonm();
76  
77   char    mapname[128];           /* current picture file */
# Line 99 | Line 101 | char   *argv[];
101                  case 'm':               /* use custom mapfile */
102                          ourmapping = getmapping(argv[++i], &qlist);
103                          break;
104 +                case 'f':               /* flatten surfaces */
105 +                        flatten++;
106 +                        break;
107                  default:
108                          goto userr;
109                  }
# Line 125 | Line 130 | char   *argv[];
130          }
131          exit(0);
132   userr:
133 <        fprintf(stderr, "Usage: %s [-o obj][-m mapping][-n] [file.obj]\n",
133 >        fprintf(stderr, "Usage: %s [-o obj][-m mapping][-n][-f] [file.obj]\n",
134                          argv[0]);
135          exit(1);
136   }
# Line 435 | Line 440 | register char  *vs;
440                  if (vi[0]-- > nvs)
441                          return(0);
442          } else if (vi[0] < 0) {
443 <                vi[0] = nvs + vi[0];
443 >                vi[0] += nvs;
444                  if (vi[0] < 0)
445                          return(0);
446          } else
# Line 449 | Line 454 | register char  *vs;
454                  if (vi[1]-- > nvts)
455                          return(0);
456          } else if (vi[1] < 0) {
457 <                vi[1] = nvts + vi[1];
457 >                vi[1] += nvts;
458                  if (vi[1] < 0)
459                          return(0);
460          } else
# Line 463 | Line 468 | register char  *vs;
468                  if (vi[2]-- > nvns)
469                          return(0);
470          } else if (vi[2] < 0) {
471 <                vi[2] = nvns + vi[2];
471 >                vi[2] += nvns;
472                  if (vi[2] < 0)
473                          return(0);
474          } else
# Line 472 | Line 477 | register char  *vs;
477   }
478  
479  
480 < nonplanar(ac, av)                       /* are vertices are non-planar? */
480 > nonplanar(ac, av)                       /* are vertices non-planar? */
481   register int    ac;
482   register char   **av;
483   {
# Line 572 | Line 577 | char   *v1, *v2, *v3;
577          if (!cvtndx(v1i, v1) || !cvtndx(v2i, v2) || !cvtndx(v3i, v3))
578                  return(0);
579                                          /* compute barycentric coordinates */
580 <        texOK = (v1i[2]>=0 && v2i[2]>=0 && v3i[2]>=0);
580 >        texOK = !flatten && (v1i[2]>=0 && v2i[2]>=0 && v3i[2]>=0);
581   #ifdef TEXMAPS
582          patOK = mapname[0] && (v1i[1]>=0 && v2i[1]>=0 && v3i[1]>=0);
583   #else
# Line 792 | Line 797 | register VNDX  p0i, p1i, p2i, p3i;
797   #ifdef TEXMAPS
798          /* also check for texture indices */
799   #endif
800 <        if (!(p0i[2]>=0 && p1i[2]>=0 && p2i[2]>=0 && p3i[2]>=0))
800 >        if (flatten || !(p0i[2]>=0 && p1i[2]>=0 && p2i[2]>=0 && p3i[2]>=0))
801                  return(-1);
802                                          /* find dominant axis */
803          VCOPY(v1, vnlist[p0i[2]]);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines