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

Comparing ray/src/util/rad.c (file contents):
Revision 2.46 by greg, Tue Nov 7 18:22:24 1995 UTC vs.
Revision 2.47 by greg, Fri Dec 8 19:55:50 1995 UTC

# Line 942 | Line 942 | medqopts(op, po)                       /* medium quality rendering options
942   register char   *op;
943   char    *po;
944   {
945 <        double  d, org[3], siz[3];
945 >        double  d, org[3], siz[3], asz;
946  
947          *op = '\0';
948          *po = '\0';
# Line 953 | Line 953 | char   *po;
953          if (siz[0] <= FTINY | siz[1] <= FTINY | siz[2] <= FTINY)
954                  badvalue(ZONE);
955          getoctcube(org, &d);
956 <        d *= 3./(siz[0]+siz[1]+siz[2]);
956 >        asz = (siz[0]+siz[1]+siz[2])/3.;
957 >        d /= asz;
958          switch (vscale(DETAIL)) {
959          case LOW:
960                  po = addarg(po, vbool(PENUMBRAS) ? "-ps 4" : "-ps 8");
961                  op = addarg(op, "-dp 256");
962                  sprintf(op, " -ar %d", (int)(8*d));
963                  op += strlen(op);
964 +                sprintf(op, " -ms %.2g", asz/20.);
965 +                op += strlen(op);
966                  break;
967          case MEDIUM:
968                  po = addarg(po, vbool(PENUMBRAS) ? "-ps 3" : "-ps 6");
969                  op = addarg(op, "-dp 512");
970                  sprintf(op, " -ar %d", (int)(16*d));
971                  op += strlen(op);
972 +                sprintf(op, " -ms %.2g", asz/40.);
973 +                op += strlen(op);
974                  break;
975          case HIGH:
976                  po = addarg(po, vbool(PENUMBRAS) ? "-ps 2" : "-ps 4");
977                  op = addarg(op, "-dp 1024");
978                  sprintf(op, " -ar %d", (int)(32*d));
979                  op += strlen(op);
980 +                sprintf(op, " -ms %.2g", asz/80.);
981 +                op += strlen(op);
982                  break;
983          }
984          po = addarg(po, "-pt .08");
# Line 1013 | Line 1020 | hiqopts(op, po)                                /* high quality rendering options *
1020   register char   *op;
1021   char    *po;
1022   {
1023 <        double  d, org[3], siz[3];
1023 >        double  d, org[3], siz[3], asz;
1024  
1025          *op = '\0';
1026          *po = '\0';
# Line 1024 | Line 1031 | char   *po;
1031          if (siz[0] <= FTINY | siz[1] <= FTINY | siz[2] <= FTINY)
1032                  badvalue(ZONE);
1033          getoctcube(org, &d);
1034 <        d *= 3./(siz[0]+siz[1]+siz[2]);
1034 >        asz = (siz[0]+siz[1]+siz[2])/3.;
1035 >        d /= asz;
1036          switch (vscale(DETAIL)) {
1037          case LOW:
1038                  po = addarg(po, vbool(PENUMBRAS) ? "-ps 1" : "-ps 8");
1039                  op = addarg(op, "-dp 1024");
1040                  sprintf(op, " -ar %d", (int)(16*d));
1041                  op += strlen(op);
1042 +                sprintf(op, " -ms %.2g", asz/40.);
1043 +                op += strlen(op);
1044                  break;
1045          case MEDIUM:
1046                  po = addarg(po, vbool(PENUMBRAS) ? "-ps 1" : "-ps 5");
1047                  op = addarg(op, "-dp 2048");
1048                  sprintf(op, " -ar %d", (int)(32*d));
1049                  op += strlen(op);
1050 +                sprintf(op, " -ms %.2g", asz/80.);
1051 +                op += strlen(op);
1052                  break;
1053          case HIGH:
1054                  po = addarg(po, vbool(PENUMBRAS) ? "-ps 1" : "-ps 3");
1055                  op = addarg(op, "-dp 4096");
1056                  sprintf(op, " -ar %d", (int)(64*d));
1057 +                op += strlen(op);
1058 +                sprintf(op, " -ms %.2g", asz/160.);
1059                  op += strlen(op);
1060                  break;
1061          }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines