| 2 |  | <!-- RCSid $Id$ --> | 
| 3 |  | <head> | 
| 4 |  | <title> | 
| 5 | < | The RADIANCE 5.1 Synthetic Imaging System | 
| 5 | > | The RADIANCE 6.1 Synthetic Imaging System | 
| 6 |  | </title> | 
| 7 |  | </head> | 
| 8 |  | <body> | 
| 10 |  | <p> | 
| 11 |  |  | 
| 12 |  | <h1> | 
| 13 | < | The RADIANCE 5.1 Synthetic Imaging System | 
| 13 | > | The RADIANCE 6.1 Synthetic Imaging System | 
| 14 |  | </h1> | 
| 15 |  |  | 
| 16 |  | <p> | 
| 75 |  | computer-aided engineering and architecture. | 
| 76 |  |  | 
| 77 |  | <p> | 
| 78 | < | <img SRC="diagram1.gif"> | 
| 78 | > | <img SRC="diagram1.png"> | 
| 79 |  | <p> | 
| 80 | – | Figure 1 | 
| 81 | – | <p> | 
| 80 |  | The diagram in Figure 1 shows the flow between programs (boxes)  and  data | 
| 81 |  | (ovals). | 
| 82 |  | The central program is <i>rpict</i>, which produces a picture from a scene | 
| 83 |  | description. | 
| 84 | < | <i>Rview</i> is a  variation  of  rpict  that  computes  and displays images | 
| 84 | > | <i>Rvu</i> is a  variation  of  rpict  that  computes  and displays images | 
| 85 |  | interactively, and rtrace computes single ray values. | 
| 86 |  | Other programs (not shown) connect many of these elements together, | 
| 87 |  | such as the executive programs | 
| 146 |  | ... | 
| 147 |  | </pre> | 
| 148 |  |  | 
| 149 | + | <p> | 
| 150 | + |  | 
| 151 |  | A comment line begins with a pound sign, `#'. | 
| 152 |  |  | 
| 153 |  | <p> | 
| 394 |  | 0 | 
| 395 |  | </pre> | 
| 396 |  |  | 
| 397 | + | <p> | 
| 398 |  | If the modifier is "void", then surfaces will | 
| 399 |  | use the modifiers  given  in  the  original  description. | 
| 400 |  | Otherwise, the modifier specified is used in their  place. | 
| 439 |  | 0 | 
| 440 |  | </pre> | 
| 441 |  |  | 
| 442 | + | <p> | 
| 443 | + |  | 
| 444 |  | If the modifier is "void", then surfaces will | 
| 445 |  | use the modifiers  given  in  the  original  mesh description. | 
| 446 |  | Otherwise, the modifier specified is used in their  place. | 
| 535 |  | 4 red green blue maxrad | 
| 536 |  | </pre> | 
| 537 |  |  | 
| 538 | + | <p> | 
| 539 |  | If maxrad is zero, then the surface will never be tested for shadow,  although  it  may participate in an interreflection calculation. | 
| 540 |  | If maxrad is negative, then the  surface  will never  contribute  to scene illumination. | 
| 541 |  | Glow sources will never illuminate objects on the other side of an illum  surface. | 
| 584 |  | 3 red green blue | 
| 585 |  | </pre> | 
| 586 |  |  | 
| 587 | + | While alternate materials that are reflective will appear as normal, | 
| 588 | + | indirect rays will use the mirror's reflectance rather than the | 
| 589 | + | alternate type. | 
| 590 | + | Transmitting materials are an exception, where both transmission and | 
| 591 | + | reflection will use the alternate type for all rays not specifically | 
| 592 | + | targeting virtual light sources. | 
| 593 | + | In this case, it is important that any reflections be purely specular | 
| 594 | + | (mirror-like) and equal to the mirror's reflectivity | 
| 595 | + | to maintain a valid result. | 
| 596 | + | A pure diffuse reflection may be added if desired. | 
| 597 | + |  | 
| 598 |  | <p> | 
| 599 |  |  | 
| 600 | + | The mirror material type reflects light sources only from the front side | 
| 601 | + | of a surface, regardless of any alternate material. | 
| 602 | + | If virtual source generation is desired on both sides, two coincident | 
| 603 | + | surfaces with opposite normal orientations may be employed to achieve | 
| 604 | + | this effect. | 
| 605 | + | The reflectance and alternate material type may be | 
| 606 | + | different for the overlapped surfaces, | 
| 607 | + | and the two sides will behave accordingly. | 
| 608 | + |  | 
| 609 | + | <p> | 
| 610 | + |  | 
| 611 |  | <dt> | 
| 612 |  | <a NAME="Prism1"> | 
| 613 |  | <b>Prism1</b> | 
| 629 |  | n A1 A2 .. An | 
| 630 |  | </pre> | 
| 631 |  |  | 
| 632 | + | <p> | 
| 633 | + |  | 
| 634 |  | The new direction variables dx, dy and dz need not produce a normalized  vector. | 
| 635 |  | For convenience, the variables DxA, DyA and DzA are defined as the normalized direction to the  target  light  source. | 
| 636 |  | See <a HREF="#Function">section 2.2.1</a> on function files for further information. | 
| 674 |  | 3  source1  mirror1>source10  mirror2>mirror1>source3 | 
| 675 |  | </pre> | 
| 676 |  |  | 
| 677 | + | <p> | 
| 678 |  | Normally, only one source is given per mist material, and there is an | 
| 679 |  | upper limit of 32 to the total number of active scattering sources. | 
| 680 |  | The extinction coefficient, if given, is added the the global | 
| 695 |  | P(theta) = (1 - g*g) / (1 + g*g - 2*g*cos(theta))^1.5 | 
| 696 |  | </pre> | 
| 697 |  |  | 
| 698 | + | <p> | 
| 699 | + |  | 
| 700 |  | A perfectly isotropic scattering medium has a g parameter of 0, and | 
| 701 |  | a highly directional material has a g parameter close to 1. | 
| 702 |  | Fits to the g parameter may be found along with typical extinction | 
| 711 |  | 0|3|6|7 [ rext gext bext [ ralb galb balb [ g ] ] ] | 
| 712 |  | </pre> | 
| 713 |  |  | 
| 714 | + | <p> | 
| 715 | + |  | 
| 716 |  | There are two usual uses of the mist type. | 
| 717 |  | One is to surround a beam from a spotlight or laser so that it is | 
| 718 |  | visible during rendering. | 
| 831 |  |  | 
| 832 |  | <dd> | 
| 833 |  | Trans2 is the anisotropic version of <a HREF="#Trans">trans</a>. | 
| 834 | < | The string arguments  are  the same as for plastic2, and the real arguments are the same as  for  trans  but  with  an  additional roughness value. | 
| 834 | > | The string arguments  are  the same as for <a HREF="#Plastic2">plastic2</a>, | 
| 835 | > | and the real arguments are the same as  for  trans  but  with  an  additional roughness value. | 
| 836 |  |  | 
| 837 |  | <pre> | 
| 838 |  | mod trans2 id | 
| 844 |  | <p> | 
| 845 |  |  | 
| 846 |  | <dt> | 
| 847 | + | <a NAME="Ashik2"> | 
| 848 | + | <b>Ashik2</b> | 
| 849 | + | </a> | 
| 850 | + |  | 
| 851 | + | <dd> | 
| 852 | + | Ashik2 is the anisotropic reflectance model by Ashikhmin & Shirley. | 
| 853 | + | The string arguments are the same as for <a HREF="#Plastic2">plastic2</a>, but the real | 
| 854 | + | arguments have additional flexibility to specify the specular color. | 
| 855 | + | Also, rather than roughness, specular power is used, which has no | 
| 856 | + | physical meaning other than larger numbers are equivalent to a smoother | 
| 857 | + | surface. | 
| 858 | + | Unlike other material types, total reflectance is the sum of | 
| 859 | + | diffuse and specular colors, and should be adjusted accordingly. | 
| 860 | + | <pre> | 
| 861 | + | mod ashik2 id | 
| 862 | + | 4+ ux uy uz funcfile transform | 
| 863 | + | 0 | 
| 864 | + | 8 dred dgrn dblu sred sgrn sblu u-power v-power | 
| 865 | + | </pre> | 
| 866 | + |  | 
| 867 | + | <p> | 
| 868 | + |  | 
| 869 | + | <dt> | 
| 870 | + | <a NAME="WGMDfunc"> | 
| 871 | + | <b>WGMDfunc</b> | 
| 872 | + | </a> | 
| 873 | + |  | 
| 874 | + | <dd> | 
| 875 | + | WGMDfunc is a more programmable version of <a HREF="#Trans2">trans2</a>, | 
| 876 | + | with separate modifier paths and variables to control each component. | 
| 877 | + | (WGMD stands for Ward-Geisler-Moroder-Duer, which is the basis for | 
| 878 | + | this empirical model, similar to previous ones beside Ashik2.) | 
| 879 | + | The specification of this material is given below. | 
| 880 | + | <pre> | 
| 881 | + | mod WGMDfunc id | 
| 882 | + | 13+ rs_mod  rs  rs_urough rs_vrough | 
| 883 | + | ts_mod  ts  ts_urough ts_vrough | 
| 884 | + | td_mod | 
| 885 | + | ux uy uz  funcfile  transform | 
| 886 | + | 0 | 
| 887 | + | 9+  rfdif gfdif bfdif | 
| 888 | + | rbdif gbdif bbdif | 
| 889 | + | rtdif gtdif btdif | 
| 890 | + | A10 .. | 
| 891 | + | </pre> | 
| 892 | + |  | 
| 893 | + | <p> | 
| 894 | + |  | 
| 895 | + | The sum of specular reflectance (<I>rs</I>), specular transmittance (<I>ts</I>), | 
| 896 | + | diffuse reflectance (<I>rfdif gfdif bfdif</I> for front and <I>rbdif gbdif bbdif</I> for back) | 
| 897 | + | and diffuse transmittance (<I>rtdif gtdif btdif</I>) should be less than 1 for each | 
| 898 | + | channel. | 
| 899 | + |  | 
| 900 | + | <p> | 
| 901 | + |  | 
| 902 | + | Unique to this material, separate modifier channels are | 
| 903 | + | provided for each component. | 
| 904 | + | The main modifier is used on the diffuse reflectance, both | 
| 905 | + | front and back. | 
| 906 | + | The <I>rs_mod</I> modifier is used for specular reflectance. | 
| 907 | + | If "void" is given for <I>rs_mod</I>, | 
| 908 | + | then the specular reflection color will be white. | 
| 909 | + | The special "inherit" keyword may also be given, in which case | 
| 910 | + | specular reflectance will share the main modifier. | 
| 911 | + | This behavior is replicated for the specular transmittance modifier | 
| 912 | + | <I>ts_mod</I>, which also has its own independent roughness expressions. | 
| 913 | + | Finally, the diffuse transmittance modifier is given as | 
| 914 | + | <I>td_mod</I>, which may also be "void" or "inherit". | 
| 915 | + | Note that any spectra or color for specular components must be | 
| 916 | + | carried by the named modifier(s). | 
| 917 | + |  | 
| 918 | + | <p> | 
| 919 | + |  | 
| 920 | + | The main advantage to this material over | 
| 921 | + | <a HREF="#BRTDfunc">BRTDfunc</a> and | 
| 922 | + | other programmable types described below is that the specular sampling is | 
| 923 | + | well-defined, so that all components are fully computed. | 
| 924 | + |  | 
| 925 | + | <p> | 
| 926 | + |  | 
| 927 | + | <dt> | 
| 928 |  | <a NAME="Dielectric"> | 
| 929 |  | <b>Dielectric</b> | 
| 930 |  | </a> | 
| 985 |  | tn = (sqrt(.8402528435+.0072522239*Tn*Tn)-.9166530661)/.0036261119/Tn | 
| 986 |  | </pre> | 
| 987 |  |  | 
| 988 | + | <p> | 
| 989 | + |  | 
| 990 |  | Standard 88% transmittance glass  has  a  transmissivity  of 0.96. | 
| 991 |  | (A <a HREF="#Patterns">pattern</a> modifying glass will affect the transmissivity.) | 
| 992 |  | If a fourth real argument is given,  it  is  interpreted as the index of refraction to use instead of 1.52. | 
| 1018 |  | 4+ red green blue spec A5 .. | 
| 1019 |  | </pre> | 
| 1020 |  |  | 
| 1021 | + | <p> | 
| 1022 | + |  | 
| 1023 |  | The function refl takes four arguments, the x, y and z | 
| 1024 |  | direction towards the incident light, and the solid angle | 
| 1025 |  | subtended by the source. | 
| 1061 |  | 6+ red green blue rspec trans tspec A7 .. | 
| 1062 |  | </pre> | 
| 1063 |  |  | 
| 1064 | + | <p> | 
| 1065 | + |  | 
| 1066 |  | Where trans is the total light transmitted and tspec is  the non-Lambertian  fraction of transmitted light. | 
| 1067 |  | The function brtd should integrate to 1 over each projected hemisphere. | 
| 1068 |  |  | 
| 1090 |  | A10 .. | 
| 1091 |  | </pre> | 
| 1092 |  |  | 
| 1093 | + | <p> | 
| 1094 | + |  | 
| 1095 |  | The variables rrefl, grefl and brefl specify the color coefficients  for  the ideal specular (mirror) reflection of the surface. | 
| 1096 |  | The variables rtrns, gtrns and btrns  specify  the color coefficients for the ideal specular transmission. | 
| 1097 |  | The functions rbrtd, gbrtd and bbrtd take the direction to the incident light (and its solid angle) and | 
| 1136 |  | 4+ red green blue spec A5 .. | 
| 1137 |  | </pre> | 
| 1138 |  |  | 
| 1139 | + | <p> | 
| 1140 | + |  | 
| 1141 |  | The coordinate indices (x1, x2, etc.) are  themselves  functions  of  the  x,  y and z direction to the incident light, plus the solid angle | 
| 1142 |  | subtended by the light source (usually ignored). | 
| 1143 |  | The data function (func) takes five variables, the | 
| 1257 |  | <p> | 
| 1258 |  |  | 
| 1259 |  | <dt> | 
| 1260 | + | <a NAME="aBSDF"> | 
| 1261 | + | <b>aBSDF</b> | 
| 1262 | + | </a> | 
| 1263 | + |  | 
| 1264 | + | <dd> | 
| 1265 | + | The aBSDF material is identical to the BSDF type with two | 
| 1266 | + | important differences.  First, proxy geometry is not | 
| 1267 | + | supported, so there is no thickness parameter.  Second, an | 
| 1268 | + | aBSDF is assumed to have some specular through component | 
| 1269 | + | (the ’a’ stands for "aperture"), | 
| 1270 | + | which is treated specially during the direct calculation | 
| 1271 | + | and when viewing the material.  Based on the BSDF data, the | 
| 1272 | + | coefficient of specular transmission is determined and used | 
| 1273 | + | for modifying unscattered shadow and view rays. | 
| 1274 | + |  | 
| 1275 | + | <pre> | 
| 1276 | + | mod aBSDF id | 
| 1277 | + | 5+ BSDFfile ux uy uz funcfile transform | 
| 1278 | + | 0 | 
| 1279 | + | 0|3|6|9 | 
| 1280 | + | rfdif gfdif bfdif | 
| 1281 | + | rbdif gbdif bbdif | 
| 1282 | + | rtdif gtdif btdif | 
| 1283 | + | </pre> | 
| 1284 | + |  | 
| 1285 | + | <p> | 
| 1286 | + | If a material has no specular transmitted component, it is | 
| 1287 | + | much better to use the BSDF type with a zero thickness | 
| 1288 | + | than to use aBSDF. | 
| 1289 | + | <p> | 
| 1290 | + |  | 
| 1291 | + | <dt> | 
| 1292 |  | <a NAME="Antimatter"> | 
| 1293 |  | <b>Antimatter</b> | 
| 1294 |  | </a> | 
| 1304 |  | 0 | 
| 1305 |  | </pre> | 
| 1306 |  |  | 
| 1307 | + | <p> | 
| 1308 | + |  | 
| 1309 |  | The first modifier will also be used to shade  the  area  leaving the  antimatter  volume and entering the regular volume. | 
| 1310 |  | If mod1 is void, the antimatter volume is completely invisible. | 
| 1311 |  | Antimatter  does  not  work  properly with the material type <a HREF="#Trans">"trans"</a>, | 
| 1355 |  |  | 
| 1356 |  | <pre> | 
| 1357 |  | mod texdata id | 
| 1358 | < | 8+ xfunc yfunc zfunc xdfname ydfname zdfname vfname x0 x1 .. xf | 
| 1358 | > | 8+ xfunc yfunc zfunc xdfname ydfname zdfname funcfile x0 x1 .. xf | 
| 1359 |  | 0 | 
| 1360 |  | n A1 A2 .. An | 
| 1361 |  | </pre> | 
| 1362 |  |  | 
| 1363 | + | <p> | 
| 1364 | + |  | 
| 1365 |  | </dl> | 
| 1366 |  |  | 
| 1367 |  | <p> | 
| 1501 |  | [spacing] | 
| 1502 |  | </pre> | 
| 1503 |  |  | 
| 1504 | + | <p> | 
| 1505 | + |  | 
| 1506 |  | or: | 
| 1507 |  |  | 
| 1508 |  | <pre> | 
| 1540 |  | [spacing] | 
| 1541 |  | </pre> | 
| 1542 |  |  | 
| 1543 | + | <p> | 
| 1544 | + |  | 
| 1545 |  | or: | 
| 1546 |  |  | 
| 1547 |  | <pre> | 
| 1570 |  | A section of text meant to  depict  a  picture, perhaps using a special purpose font such as hexbit4x1.fnt, calls for uniform  spacing. | 
| 1571 |  | Reasonable  magnitudes  for  proportional  spacing are between 0.1 (for tightly spaced characters) and 0.3 (for wide spacing). | 
| 1572 |  |  | 
| 1573 | + | <p> | 
| 1574 | + |  | 
| 1575 | + | <dt> | 
| 1576 | + | <a NAME="Spectrum"> | 
| 1577 | + | <b>Spectrum</b> | 
| 1578 | + | </a> | 
| 1579 | + |  | 
| 1580 | + | <dd> | 
| 1581 | + | The spectrum primitive is the most basic type for introducing spectral | 
| 1582 | + | color to a material. | 
| 1583 | + | Since materials only provide RGB parameters, spectral patterns | 
| 1584 | + | are the only way to superimpose wavelength-dependent behavior. | 
| 1585 | + |  | 
| 1586 | + | <pre> | 
| 1587 | + | mod spectrum id | 
| 1588 | + | 0 | 
| 1589 | + | 0 | 
| 1590 | + | 5+ nmA nmB s1 s2 .. sN | 
| 1591 | + | </pre> | 
| 1592 | + |  | 
| 1593 | + | <p> | 
| 1594 | + | The first two real arguments indicate the extrema of the | 
| 1595 | + | spectral range in nanometers. | 
| 1596 | + | Subsequent real values correspond to multipliers at each wavelength. | 
| 1597 | + | The nmA wavelength may be greater or less than nmB, | 
| 1598 | + | but they may not be equal, and their ordering matches | 
| 1599 | + | the order of the spectral values. | 
| 1600 | + | A minimum of 3 values must be given, which would act | 
| 1601 | + | more or less the same as a constant RGB multiplier. | 
| 1602 | + | As with RGB values, spectral quantities normally range between 0 | 
| 1603 | + | and 1 at each wavelength, or average to 1.0 against a standard | 
| 1604 | + | sensitivity functions such as V(lambda). | 
| 1605 | + | The best results obtain when the spectral range and number | 
| 1606 | + | of samples match rendering options, though resampling will handle | 
| 1607 | + | any differences, zero-filling wavelenths outside the nmA to nmB | 
| 1608 | + | range. | 
| 1609 | + | A warning will be issued if the given wavelength range does not | 
| 1610 | + | adequately cover the visible spectrum. | 
| 1611 | + |  | 
| 1612 | + | <p> | 
| 1613 | + |  | 
| 1614 | + | <dt> | 
| 1615 | + | <a NAME="Specfile"> | 
| 1616 | + | <b>Specfile</b> | 
| 1617 | + | </a> | 
| 1618 | + |  | 
| 1619 | + | <dd> | 
| 1620 | + | The specfile primitive is equivalent to the spectrum type, but | 
| 1621 | + | the wavelength range and values are contained in a 1-dimensional | 
| 1622 | + | data file. | 
| 1623 | + | This may be a more convenient way to specify a spectral color, | 
| 1624 | + | especially one corresponding to a standard illuminant such as D65 | 
| 1625 | + | or a library of measured spectra. | 
| 1626 | + |  | 
| 1627 | + | <pre> | 
| 1628 | + | mod specfile id | 
| 1629 | + | 1 datafile | 
| 1630 | + | 0 | 
| 1631 | + | 0 | 
| 1632 | + | </pre> | 
| 1633 | + |  | 
| 1634 | + | <p> | 
| 1635 | + | As with the spectrum type, rendering wavelengths outside the defined | 
| 1636 | + | range will be zero-filled. | 
| 1637 | + | Unlike the spectrum type, the file may contain non-uniform samples. | 
| 1638 | + |  | 
| 1639 | + | <p> | 
| 1640 | + |  | 
| 1641 | + | <dt> | 
| 1642 | + | <a NAME="Specfunc"> | 
| 1643 | + | <b>Specfunc</b> | 
| 1644 | + | </a> | 
| 1645 | + |  | 
| 1646 | + | <dd> | 
| 1647 | + | The specfunc primitive offers dynamic control over a spectral | 
| 1648 | + | pattern, similar to the colorfunc type. | 
| 1649 | + |  | 
| 1650 | + | <pre> | 
| 1651 | + | mod specfunc id | 
| 1652 | + | 2+ sfunc funcfile transform | 
| 1653 | + | 0 | 
| 1654 | + | 2+ nmA nmB A3 .. | 
| 1655 | + | </pre> | 
| 1656 | + |  | 
| 1657 | + | <p> | 
| 1658 | + | Like the spectrum primitive, the wavelength range is specified | 
| 1659 | + | in the first two real arguments, and additional real values are | 
| 1660 | + | set in the evaluation context. | 
| 1661 | + | This function is fed a wavelenth sample | 
| 1662 | + | between nmA and nmB as its only argument, | 
| 1663 | + | and it returns the corresponding spectral intensity. | 
| 1664 | + |  | 
| 1665 | + | <dt> | 
| 1666 | + | <a NAME="Specdata"> | 
| 1667 | + | <b>Specdata</b> | 
| 1668 | + | </a> | 
| 1669 | + |  | 
| 1670 | + | <dd> | 
| 1671 | + | Specdata is like brightdata and colordata, but with more | 
| 1672 | + | than 3 specular samples. | 
| 1673 | + |  | 
| 1674 | + | <pre> | 
| 1675 | + | mod specdata id | 
| 1676 | + | 3+n+ | 
| 1677 | + | func datafile | 
| 1678 | + | funcfile x1 x2 .. xn transform | 
| 1679 | + | 0 | 
| 1680 | + | m A1 A2 .. Am | 
| 1681 | + | </pre> | 
| 1682 | + |  | 
| 1683 | + | <p> | 
| 1684 | + | The data file must have one more dimension than the coordinate | 
| 1685 | + | variable count, as this final dimension corresponds to the covered | 
| 1686 | + | spectrum. | 
| 1687 | + | The starting and ending wavelengths are specified in "datafile" | 
| 1688 | + | as well as the number of spectral samples. | 
| 1689 | + | The function "func" will be called with two parameters, the | 
| 1690 | + | interpolated spectral value for the current coordinate and the | 
| 1691 | + | associated wavelength. | 
| 1692 | + | If the spectrum is broken into 12 components, then 12 calls | 
| 1693 | + | will be made to "func" for the relevant ray evaluation. | 
| 1694 | + |  | 
| 1695 | + | <dt> | 
| 1696 | + | <a NAME="Specpict"> | 
| 1697 | + | <b>Specpict</b> | 
| 1698 | + | </a> | 
| 1699 | + |  | 
| 1700 | + | <dd> | 
| 1701 | + | Specpict is a special case of specdata, where the pattern is | 
| 1702 | + | a hyperspectral image stored in the common-exponent file format. | 
| 1703 | + | The dimensions of the image data are determined by the picture | 
| 1704 | + | just as with the colorpict primitive. | 
| 1705 | + |  | 
| 1706 | + | <pre> | 
| 1707 | + | mod specpict id | 
| 1708 | + | 5+ | 
| 1709 | + | func specfile | 
| 1710 | + | funcfile u v transform | 
| 1711 | + | 0 | 
| 1712 | + | m A1 A2 .. Am | 
| 1713 | + | </pre> | 
| 1714 | + |  | 
| 1715 | + | <p> | 
| 1716 | + | The function "func" is called with the interpolated pixel value | 
| 1717 | + | and the wavelength sample in nanometers, the same as specdata, | 
| 1718 | + | with as many calls made as there are components in "specfile". | 
| 1719 | + |  | 
| 1720 |  | </dl> | 
| 1721 |  |  | 
| 1722 |  | <p> | 
| 1727 |  | </h4> | 
| 1728 |  |  | 
| 1729 |  | A mixture is a blend of one or more materials or textures and patterns. | 
| 1730 | + | Blended materials should not be light source types or virtual source types. | 
| 1731 |  | The basic types are given below. | 
| 1732 |  |  | 
| 1733 |  | <p> | 
| 1749 |  | n A1 A2 .. An | 
| 1750 |  | </pre> | 
| 1751 |  |  | 
| 1752 | + | <p> | 
| 1753 | + |  | 
| 1754 |  | Foreground and background are modifier names that must be | 
| 1755 |  | defined earlier in the scene description. | 
| 1756 |  | If one of these is a material, then | 
| 1779 |  | m A1 A2 .. Am | 
| 1780 |  | </pre> | 
| 1781 |  |  | 
| 1782 | + | <p> | 
| 1783 | + |  | 
| 1784 |  | <dt> | 
| 1785 |  | <a NAME="Mixpict"> | 
| 1786 |  | <b>Mixpict</b> | 
| 1804 |  | arguments, the red, green and blue values | 
| 1805 |  | corresponding to the pixel at (u,v). | 
| 1806 |  |  | 
| 1490 | – | </dl> | 
| 1807 |  | <p> | 
| 1808 |  |  | 
| 1809 |  | <dt> | 
| 1825 |  | [spacing] | 
| 1826 |  | </pre> | 
| 1827 |  |  | 
| 1828 | + | <p> | 
| 1829 | + |  | 
| 1830 |  | or: | 
| 1831 |  |  | 
| 1832 |  | <pre> | 
| 1842 |  | [spacing] | 
| 1843 |  | </pre> | 
| 1844 |  |  | 
| 1845 | + | <p> | 
| 1846 | + |  | 
| 1847 |  | </dl> | 
| 1848 |  |  | 
| 1849 |  | <p> | 
| 1888 |  | cfunc(x) : 10*x / sqrt(x) ; | 
| 1889 |  | </pre> | 
| 1890 |  |  | 
| 1891 | + | <p> | 
| 1892 | + |  | 
| 1893 |  | Many variables and functions are already defined by the program, and they are listed in the file rayinit.cal. | 
| 1894 |  | The following variables are particularly important: | 
| 1895 |  |  | 
| 1904 |  | arg(i)                  - i'th real argument | 
| 1905 |  | </pre> | 
| 1906 |  |  | 
| 1907 | + | <p> | 
| 1908 | + |  | 
| 1909 |  | For mesh objects, the local surface coordinates are available: | 
| 1910 |  |  | 
| 1911 |  | <pre> | 
| 1912 |  | Lu, Lv                  - local (u,v) coordinates | 
| 1913 |  | </pre> | 
| 1914 |  |  | 
| 1915 | + | <p> | 
| 1916 | + |  | 
| 1917 |  | For BRDF types, the following variables are defined as well: | 
| 1918 |  |  | 
| 1919 |  | <pre> | 
| 1922 |  | CrP, CgP, CbP           - perturbed material color | 
| 1923 |  | </pre> | 
| 1924 |  |  | 
| 1925 | + | <p> | 
| 1926 | + |  | 
| 1927 |  | A unique context is set up for each file so | 
| 1928 |  | that  the  same variable may appear in different | 
| 1929 |  | function files without conflict. | 
| 1978 |  | DATA, later dimensions changing faster. | 
| 1979 |  | </pre> | 
| 1980 |  |  | 
| 1981 | + | <p> | 
| 1982 | + |  | 
| 1983 |  | N is the number of  dimensions. | 
| 1984 |  | For  each  dimension,  the beginning  and  ending  coordinate  values and the dimension size is given. | 
| 1985 |  | Alternatively, individual coordinate  values can  be  given when the points are not evenly spaced. | 
| 2008 |  | ... | 
| 2009 |  | </pre> | 
| 2010 |  |  | 
| 2011 | + | <p> | 
| 2012 | + |  | 
| 2013 |  | The ASCII codes can appear in any order.  N is the number of vertices,  and  the  last  is automatically connected to the first. | 
| 2014 |  | Separate polygonal sections are joined by coincident sides. | 
| 2015 |  | The  character  coordinate  system is a square with lower left corner at (0,0), lower right at (255,0) and upper right at (255,255). | 
| 2085 |  | directs the use of a scene description. | 
| 2086 |  | <ul> | 
| 2087 |  | <li> | 
| 2088 | < | <a NAME="rvu" HREF="../man_html/rvu.1.html"><b>Rview</b></a>  is  ray-tracing  program  for  viewing  a  scene interactively. | 
| 2088 | > | <a NAME="rvu" HREF="../man_html/rvu.1.html"><b>Rvu</b></a>  is  ray-tracing  program  for  viewing  a  scene interactively. | 
| 2089 |  | When  the user specifies a new perspective, rvu quickly displays a rough image on the  terminal, | 
| 2090 |  | then progressively increases the resolution as the user looks on. | 
| 2091 |  | He can select a particular section of the image to  improve, or  move  to  a different view and start over. | 
| 2121 |  | or converted a standard image format using one of the following | 
| 2122 |  | <b>translators</b>: | 
| 2123 |  | <ul> | 
| 2124 | < | <li> <a HREF="../man_html/ra_bmp.1.html"><b>Ra_bmp</b> | 
| 2124 | > | <li> <a HREF="../man_html/ra_bmp.1.html"><b>Ra_bmp</b></a> | 
| 2125 |  | converts to and from BMP image format. | 
| 2126 |  | <li> <a HREF="../man_html/ra_ppm.1.html"><b>Ra_ppm</b></a> | 
| 2127 |  | converts to and from Poskanzer Portable Pixmap formats. | 
| 2148 |  | </h2> | 
| 2149 |  |  | 
| 2150 |  | <pre> | 
| 2151 | < | The Radiance Software License, Version 1.0 | 
| 2151 | > | The Radiance Software License, Version 2.0 | 
| 2152 |  |  | 
| 2153 | < | Copyright (c) 1990 - 2014 The Regents of the University of California, | 
| 2154 | < | through Lawrence Berkeley National Laboratory.   All rights reserved. | 
| 2153 | > | Radiance v6.0 Copyright (c) 1990 to 2025, The Regents of the University of | 
| 2154 | > | California, through Lawrence Berkeley National Laboratory (subject to receipt | 
| 2155 | > | of any required approvals from the U.S. Dept. of Energy).  All rights reserved. | 
| 2156 |  |  | 
| 2157 |  | Redistribution and use in source and binary forms, with or without | 
| 2158 | < | modification, are permitted provided that the following conditions | 
| 1826 | < | are met: | 
| 2158 | > | modification, are permitted provided that the following conditions are met: | 
| 2159 |  |  | 
| 2160 | < | 1. Redistributions of source code must retain the above copyright | 
| 2161 | < | notice, this list of conditions and the following disclaimer. | 
| 2160 | > | (1) Redistributions of source code must retain the above copyright notice, | 
| 2161 | > | this list of conditions and the following disclaimer. | 
| 2162 |  |  | 
| 2163 | < | 2. Redistributions in binary form must reproduce the above copyright | 
| 2164 | < | notice, this list of conditions and the following disclaimer in | 
| 2165 | < | the documentation and/or other materials provided with the | 
| 1834 | < | distribution. | 
| 2163 | > | (2) Redistributions in binary form must reproduce the above copyright | 
| 2164 | > | notice, this list of conditions and the following disclaimer in the | 
| 2165 | > | documentation and/or other materials provided with the distribution. | 
| 2166 |  |  | 
| 2167 | < | 3. The end-user documentation included with the redistribution, | 
| 2168 | < | if any, must include the following acknowledgment: | 
| 2169 | < | "This product includes Radiance software | 
| 2170 | < | (<a HREF="http://radsite.lbl.gov/">http://radsite.lbl.gov/</a>) | 
| 1840 | < | developed by the Lawrence Berkeley National Laboratory | 
| 1841 | < | (<a HREF="http://www.lbl.gov/">http://www.lbl.gov/</a>)." | 
| 1842 | < | Alternately, this acknowledgment may appear in the software itself, | 
| 1843 | < | if and wherever such third-party acknowledgments normally appear. | 
| 2167 | > | (3) Neither the name of the University of California, Lawrence Berkeley | 
| 2168 | > | National Laboratory, U.S. Dept. of Energy nor the names of its contributors | 
| 2169 | > | may be used to endorse or promote products derived from this software | 
| 2170 | > | without specific prior written permission. | 
| 2171 |  |  | 
| 2172 | < | 4. The names "Radiance," "Lawrence Berkeley National Laboratory" | 
| 2173 | < | and "The Regents of the University of California" must | 
| 2174 | < | not be used to endorse or promote products derived from this | 
| 2175 | < | software without prior written permission. For written | 
| 2176 | < | permission, please contact [email protected]. | 
| 2172 | > | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 
| 2173 | > | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
| 2174 | > | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 
| 2175 | > | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 
| 2176 | > | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 
| 2177 | > | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 
| 2178 | > | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 
| 2179 | > | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 
| 2180 | > | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 
| 2181 | > | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 
| 2182 | > | POSSIBILITY OF SUCH DAMAGE. | 
| 2183 |  |  | 
| 2184 | < | 5. Products derived from this software may not be called "Radiance", | 
| 2185 | < | nor may "Radiance" appear in their name, without prior written | 
| 2186 | < | permission of Lawrence Berkeley National Laboratory. | 
| 2187 | < |  | 
| 2188 | < | THIS SOFTWARE IS PROVIDED ``AS IS" AND ANY EXPRESSED OR IMPLIED | 
| 2189 | < | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | 
| 2190 | < | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | 
| 2191 | < | DISCLAIMED.   IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR | 
| 2192 | < | ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 
| 2193 | < | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 
| 1861 | < | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | 
| 1862 | < | USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | 
| 1863 | < | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | 
| 1864 | < | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | 
| 1865 | < | OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 
| 1866 | < | SUCH DAMAGE. | 
| 2184 | > | You are under no obligation whatsoever to provide any bug fixes, patches, | 
| 2185 | > | or upgrades to the features, functionality or performance of the source | 
| 2186 | > | code ("Enhancements") to anyone; however, if you choose to make your | 
| 2187 | > | Enhancements available either publicly, or directly to Lawrence Berkeley | 
| 2188 | > | National Laboratory, without imposing a separate written license agreement | 
| 2189 | > | for such Enhancements, then you hereby grant the following license: a | 
| 2190 | > | non-exclusive, royalty-free perpetual license to install, use, modify, | 
| 2191 | > | prepare derivative works, incorporate into other computer software, | 
| 2192 | > | distribute, and sublicense such enhancements or derivative works thereof, | 
| 2193 | > | in binary and source code form. | 
| 2194 |  | </pre> | 
| 2195 |  |  | 
| 2196 | + | <p> | 
| 2197 | + |  | 
| 2198 |  | <hr> | 
| 2199 |  |  | 
| 2200 |  | <h2> | 
| 2220 |  | </h2> | 
| 2221 |  | <p> | 
| 2222 |  | <ul> | 
| 2223 | + | <li>Ward, Gregory J., Bruno Bueno, David Geisler-Moroder, | 
| 2224 | + | Lars O. Grobe, Jacob C. Jonsson, Eleanor | 
| 2225 | + | S. Lee, Taoning Wang, Helen Rose Wilson, | 
| 2226 | + | "<a href="https://doi.org/10.1016/j.enbuild.2022.111890">Daylight | 
| 2227 | + | Simulation Workflows Incorporating Measured Bidirectional | 
| 2228 | + | Scattering Distribution Functions</a>" | 
| 2229 | + | <em>Energy & Buildings</em>, Vol. 259, No. 11890, 2022. | 
| 2230 | + | <li>Wang, Taoning, Gregory Ward, Eleanor Lee, | 
| 2231 | + | "<a href="https://authors.elsevier.com/a/1XQ0a1M7zGwT7v">Efficient | 
| 2232 | + | modeling of optically-complex, non-coplanar exterior shading: | 
| 2233 | + | Validation of matrix algebraic methods</a>" | 
| 2234 | + | <em>Energy & Buildings</em>, vol. 174, pp. 464-83, Sept. 2018. | 
| 2235 | + | <li>Lee, Eleanor S., David Geisler-Moroder, Gregory Ward, | 
| 2236 | + | "<a href="https://eta.lbl.gov/sites/default/files/publications/solar_energy.pdf">Modeling | 
| 2237 | + | the direct sun component in buildings using matrix | 
| 2238 | + | algebraic approaches: Methods and | 
| 2239 | + | validation</a>," <em>Solar Energy</em>, | 
| 2240 | + | vol. 160, 15 January 2018, pp 380-395. | 
| 2241 | + | <li>Narain, Rahul, Rachel A. Albert, Abdullah Bulbul, | 
| 2242 | + | Gregory J. Ward, Marty Banks, James F. O'Brien, | 
| 2243 | + | "<a href="http://graphics.berkeley.edu/papers/Narain-OPI-2015-08/index.html">Optimal | 
| 2244 | + | Presentation of Imagery with Focus | 
| 2245 | + | Cues on Multi-Plane Displays</a>," | 
| 2246 | + | <em>SIGGRAPH 2015</em>. | 
| 2247 | + | <li>Ward, Greg, Murat Kurt, and Nicolas Bonneel, | 
| 2248 | + | "<a href="papers/WMAM14_Tensor_Tree_Representation.pdf">Reducing | 
| 2249 | + | Anisotropic BSDF Measurement to Common Practice</a>," | 
| 2250 | + | <em>Workshop on Material Appearance Modeling</em>, 2014. | 
| 2251 | + | <li>Banks, Martin, Abdullah Bulbul, Rachel Albert, Rahul Narain, | 
| 2252 | + | James F. O'Brien, Gregory Ward, | 
| 2253 | + | "<a href="http://graphics.berkeley.edu/papers/Banks-TPO-2014-05/index.html">The | 
| 2254 | + | Perception of Surface Material from Disparity and Focus Cues</a>," | 
| 2255 | + | <em>VSS 2014</em>. | 
| 2256 |  | <li>McNeil, A., C.J. Jonsson, D. Appelfeld, G. Ward, E.S. Lee, | 
| 2257 |  | "<a href="http://gaia.lbl.gov/btech/papers/4414.pdf"> | 
| 2258 |  | A validation of a ray-tracing tool used to generate |