ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/doc/notes/ReleaseNotes
(Generate patch)

Comparing ray/doc/notes/ReleaseNotes (file contents):
Revision 1.69 by greg, Wed Apr 13 23:00:58 2005 UTC vs.
Revision 1.410 by greg, Mon Mar 21 00:21:13 2022 UTC

# Line 1140 | Line 1140 | of recursive routines using sets to avoid overrunning
1140   the stack limit.
1141  
1142   ==============================
1143 < Version 3.6
1143 > Version 3.6 (Released 10/21/04)
1144  
1145   Modified 4-byte RGBE encoding routine to avoid problems
1146   when one or two primary values is negative and the other(s)
# Line 1343 | Line 1343 | Fixed bug in rcalc where it sometimes wasn't parsing t
1343   correctly.
1344  
1345   =====================
1346 < Version 3.7
1346 > Version 3.7 (Released 7/25/05)
1347  
1348   Fixed bug in source occluder cache which caused consistency error
1349   for distant sources and mist materials.  (Thanks to Mark Stock for
# Line 1382 | Line 1382 | care to support officially due to its machine-dependen
1382   Fixed bug that caused incorrect reporting of non-surface in set when
1383   mixing meshes and instances.  (Thanks to Jack de Valpine for discovery.)
1384  
1385 < Fixed innacuracy in calculation of diffuse transmission in the presence
1385 > Fixed inaccuracy in calculation of diffuse transmission in the presence
1386   of pure specular (Fresnel reflection) using "trans" material.  Thanks
1387   to Christoph Reinhart for pointing out the error.
1388  
# Line 1419 | Line 1419 | image-based lighting with light probes.
1419   Changed ambient calculation so that -ad will not limit recursion
1420   depth, and a minimum of 27 samples will be sent out for each stored
1421   ambient value, or 3 samples if -aa is 0 (caching off).
1422 +
1423 + Added -oM option to rtrace to report material (rather than modifier)
1424 + for cases where actual material is aliased or further up modifier chain.
1425 +
1426 + Rearranged the way ray contributions are computed so that it might be
1427 + possible to use rtrace to derive daylight coefficients and optical
1428 + transfer functions.  The new -oTW option of rtrace produces color
1429 + contribution weights for each ray, which combined with the -ti (or -tI)
1430 + option permits the contribution of selected surfaces or sources to
1431 + be determined.  Using the -oTW option, one should also specify
1432 + options "-dt 0 -aa 0 -as 0" for optimal results.  In particular,
1433 + one cannot expect reasonable tallies with -ab >= 1 and irradiance
1434 + caching on (-aa > 0).
1435 +
1436 + The same code modifications included a change to the indirect computation
1437 + with caching switched off (-aa 0).  Whereas before, the number of secondary
1438 + rays after the first bounce were half of the previous generation, they are
1439 + now determined by the surface reflectance, making for a better and faster
1440 + calculation.  It should now be possible to compute many bounces with -aa 0,
1441 + which used to be prohibitively expensive.
1442 +
1443 + Added -T option to xshowtrace to trace rays to light sources.
1444 +
1445 + Added meta2bmp program to produce BMP files from metafile graphics.
1446 +
1447 + Added cct_x(t) and cct_y(t) to src/cal/cal/blackbody.cal to interpolate
1448 + CIE chromaticities for particular black-body temperatures.
1449 +
1450 + Increased maximum number of input pictures in pcomb and pcompos to 512.
1451 +
1452 + Created rtcontrib program for computing ray contribution coefficients.
1453 + This tool may be used to do standard optical ray tracing or daylight
1454 + coefficient calculations for annual simulations, among other uses.
1455 +
1456 + Added tilde ('~') output option as part of the -o* specification of
1457 + rtrace.  This permits ray trees to be parsed more easily in binary
1458 + output mode, as needed by rtcontrib.
1459 +
1460 + Implemented Russian roulette ray termination with -lr <= 0.
1461 + Made -lr -10 the default in rtcontrib.
1462 +
1463 + Made rtcontrib -f option search RAYPATH directories.
1464 +
1465 + Made it so -o option of rtcontrib can pipe -o output to a command.
1466 +
1467 + Added -if and -of options to total for binary i/o (following rcalc mold).
1468 +
1469 + Switched default options in rtrace to use Russian roulette.  (Rpict and rvu
1470 + still use biased ray termination.)
1471 +
1472 + Added rtcontrib -r option to recover partial output.
1473 +
1474 + Added -u rendering option for pure Monte Carlo sampling.
1475 + (Got rid of -DMC compile option, which this makes superfluous.)
1476 +
1477 + Changed -t option of rlam to accept strings as well as single characters.
1478 +
1479 + Fixed bug in rcalc with -l option where it would sometimes go into an
1480 + infinite loop.
1481 +
1482 + Fixed truly ancient bug in bounding box computation for cones, which
1483 + could (and did) cause missing segments.
1484 +
1485 + Added -z option to normtiff to output LZW-compressed files.
1486 +
1487 + Last change to total causes it to produce results when it sees an empty
1488 + line on the input.  This was not intentional, but I decided I like this
1489 + behavior so I documented it rather than changing it.
1490 +
1491 + =====================
1492 + Version 3.8 (Released 10/17/06)
1493 +
1494 + Fixed Russian roulette ray termination, which was doing the opposite of
1495 + what it should have been doing, resulting in overestimated values below
1496 + minimum ray sampling weight (serious).
1497 +
1498 + Changed mksource to use 98th percentile (rather than 99th) for threshold.
1499 +
1500 + (Above changes included in 3.7.1 patch release.)
1501 +
1502 + Eliminated writing of EXPOSURE= line in ra_tiff -r when source TIFF
1503 + does not have STONITS set.
1504 +
1505 + Fixed bug in ambient calculation that caused black values for multiple
1506 + bounces in some scenes.  Thanks to Mark Stock for creating and sharing
1507 + the sophisticated test scene that demonstrated this problem.
1508 +
1509 + Fixed bug in antimatter using Russian Roulette sampling.
1510 +
1511 + (Above changes included in 3.7.2 patch release 22 Aug 2005.)
1512 +
1513 + Created fieldcomb script to combine alternate fields in a rendering
1514 + sequence.  (Development generously sponsored by Iebele Abel.)
1515 +
1516 + Added missing preload of mesh objects for more efficient memory use
1517 + during parallel rendering -- this was a serious oversight.
1518 +
1519 + Created ran2tiff program to automate exposure setting of animation
1520 + sequences using a moving histogram in combination with pcond, and
1521 + converting frames to TIFF.
1522 +
1523 + Eliminated SPEED macro from makeall and source tree.
1524 +
1525 + Added -pj option to vwrays to allow jittering of sample locations.
1526 +
1527 + Fixed bug in rtcontrib where it occasionally missed writing the
1528 + final bin file.  (Pretty serious, actually.)
1529 +
1530 + Added -Dfseeko=fseek to MACH= line for linux, as fseeko(3) seems to be
1531 + broken in current versions of Linux.  (Need to remove this later.)
1532 +
1533 + Rearranged struct's for better efficiency on 64-bit architectures.
1534 +
1535 + Added -i option to rlam so it works with binary input formats.
1536 +
1537 + Added rtcontrib -bn option to specify number of bins and fixed bug
1538 + in recovery of files containing multiple values per record.
1539 +
1540 + Added rtcontrib -fo option to write over existing files, which it now
1541 + refuses to do without this option.
1542 +
1543 + Made rtcontrib flush output when handed a zero-length ray vector,
1544 + to match behavior of rtrace.
1545 +
1546 + Improved color scale for falsecolor output.
1547 +
1548 + Added threshold test for Fresnel approximation to prevent its use
1549 + on smooth surfaces with unrealistically low specularities (less than 1.8%).
1550 + Water has a specular reflectance of 2.1% at room temperture.
1551 +
1552 + Removed NICE macro settings in rpict and rtrace, which was slowing down
1553 + the processes under Mac OS X (10.4) by about 60% due to processor napping.
1554 +
1555 + Made xform, replmarks and rad2mgf handle quoted modifiers and names properly.
1556 +
1557 + Fixed problem in genblinds, where it was generating slats that were too
1558 + wide with the +/-r option.  (Thanks to Helena Buelow-Huebe for discovering
1559 + this bug.)
1560 +
1561 + Fixed bug in ra_ppm for 16-bit/sample i/o, where it was getting the byte
1562 + order wrong (apparently).
1563 +
1564 + Added -V option to rtcontrib to report actual contributions, rather than
1565 + just ray coefficients.
1566 +
1567 + Fixed bug in ranimate that caused it to fail in continuation of renderings.
1568 +
1569 + Renamed librt.a to librtrad.a, to avoid conflict on Solaris. Almost
1570 + everything now gets linked to -lrtrad instead of -lrt.
1571 +
1572 + Fixed problem with large sample sets, so -u+ option now is truly random.
1573 + Thanks to Rick Mistrick and Younju Yoon for identifying this problem,
1574 + which was related to a poorly designed hash function.
1575 +
1576 + Changed -u+ to be the default setting in rtrace (only).
1577 +
1578 + Fixed binary i/o for rlam and vwrays under Windows.
1579 +
1580 + Added tmCvLums() to tone-mapping routines using a 16-bit lookup table
1581 + on IEEE floats, which is also used to improve speed of COLOR conversions,
1582 + especially on machines with slow log() calls.  The first call to
1583 + tmCvLums(), tmCvGrays(), or tmCvColors() initializes the table.
1584 +
1585 + Created optics2rad.csh script to convert from Optics 5 material output
1586 + to something correct for Radiance.  Built on old glazing.cal function,
1587 + which is actually incorrect so removed from the distribution.
1588 +
1589 + Fixed nuisance bug in ximage under some SGI machines that caused it to
1590 + choose an inappropriate visual and display incorrect colors.  (Thanks
1591 + to Oskar Itzinger for debugging the problem.)
1592 +
1593 + Fixed long-standing inaccuracy of pcompos -t and +t thresholding options.
1594 +
1595 + Fixed bug in handling of views with tabs rather than spaces.
1596 +
1597 + Fixed bug related to alias of alias.
1598 +
1599 + ****** COMPATIBILITY CHANGE ********
1600 + Changed default sky turbidity in gensky from the original default of
1601 + 2.75 to the CIE 110-1994 standard value of 2.45.  Thanks to Marilyne
1602 + Anderson of MIT for pointing out this discrepancy.
1603 +
1604 + Added -o option to ra_xyze to produce original pixel values.
1605 +
1606 + Fixed bug in tracing of virtual sources, where intervening glazing was
1607 + not being accounted for properly.
1608 +
1609 + Added -h option to pcompos and pcomb to eliminate verbose headers.
1610 +
1611 + =====================
1612 + Version 3.9 (Released 3/30/08)
1613 +
1614 + Added -spec option to falsecolor to restore original spectral color scale.
1615 + Also added "-s auto" option to automatically set the maximum value.
1616 +
1617 + Added byte-swapping input and output to rcalc.
1618 +
1619 + Additional error-checking for source surfaces.
1620 +
1621 + Re-fixed bug in octree code that caused it to allocate 8 times as
1622 + much memory as it actually used(!) -- this was pointed out way back
1623 + in 1999 by Erik Reinhard and Erik Jansen, but the fix they gave me
1624 + got lost in the slightly broken release process at the time.  This
1625 + should make a big difference in memory usage, especially for the
1626 + new mesh primitive.  (I measured 30% less memory usage.)
1627 +
1628 + Corrected ray weights for material mixtures.
1629 +
1630 + Reduced the default -n setting for obj2mesh to take better advantage
1631 + of the smaller octree structure size.
1632 +
1633 + Fixed bug in shadow cache where it was adding surfaces with antimatter
1634 + holes cut in them to the obstructor list.  Thanks to John Mardaljevic
1635 + for discovering and reporting the problem.
1636 +
1637 + Adding ability in mkillum to incorporate BSDF data in calculation.
1638 + Internal interface (raypcalls) now used in place of rtrace process(es).
1639 +
1640 + Fixed pixel alignment in pcomb for size reduction and enlargement.
1641 +
1642 + Allow rtcontrib user to set -P and -PP options for persistent rendering.
1643 + The only caveat is that -n setting > 1 requires -PP rather than -P.
1644 +
1645 + Added -c option to rtcontrib to facilitate cumulative calculations.
1646 +
1647 + ****** COMPATIBILITY CHANGE ********
1648 + Fixed long-standing bug in source.cal, which caused it to produce
1649 + reversed anisotropic photometric distributions due to the
1650 + misorientation of the y-axis.  Thanks to Zack Rogers for discovering
1651 + and helping debug this problem.
1652 +
1653 + Fixed long-standing bug in replmarks, where triangles with X-side
1654 + aligned with Z-axis would cause incorrect rotations.  Thanks to
1655 + Zack Rogers for finding this error.
1656 +
1657 + Added rsensor program to compute sensor signal for daylighting controls.
1658 + Funding for this component was provided by the Architectural Energy
1659 + Corporation in Boulder, CO, and directed by Zack Rogers.
1660 +
1661 + Added "planisphere" (stereographic) fisheye view type for traditional
1662 + daylighting analysis.  Feature requested & explained by Axel Jacobs.
1663 +
1664 + Modified -c option to rtcontrib so it can take a number of input
1665 + rays to average over, rather than only produce a single accumulated
1666 + record (which can now be done with -c 0).
1667 +
1668 + =====================
1669 + Version 4.0 (Released 3/12/10)
1670 +
1671 + Added -n option to rvu to provide parallel rendering.
1672 +
1673 + ****** COMPATIBILITY CHANGE ********
1674 + Changed ".pic" extension to ".hdr" in all sources and documentation
1675 + to improve interoperability with other software, since this has become
1676 + the de facto extension for Radiance RGBE and XYZE pictures.  Since file
1677 + extensions were never more than a convention in Radiance, this does not
1678 + affect operation, but may require the update of scripts, etc. written
1679 + by others that assume the ".pic" suffix for Radiance output.
1680 +
1681 + Added -N option to objview to support multiprocessing.
1682 +
1683 + Improved sampling of circular sources (source, sphere, ring types) with
1684 + quite a bit of help from David Geisler-Moroder.
1685 +
1686 + Added "rpict" and "rvu" variables to rad, and made these as well as
1687 + the "oconv", "mkillum" and "pfilt" variables accept an alternate
1688 + command path in each case.  Change suggested by Lars Grobe based
1689 + on similar Radzilla (radz) facility by Carsten Bauer.
1690 +
1691 + Fixed rad -v N specification to use actual view name if one.
1692 +
1693 + Fixed error in mkillum calculation where it neglected indirect
1694 + source contributions from BTDF illum's.
1695 +
1696 + Added GMT and LATLONG header lines for Greenwich Mean Time and
1697 + degrees North Latitude / East Longitude.
1698 +
1699 + Added gendaylit to distribution (finally).
1700 +
1701 + Added ability in vwright(1) to get view from command line arguments.
1702 +
1703 + Created genklemsamp(1) utility to generate samples suitable for
1704 + BSDF-based annual calculations.  This is the first Perl script to
1705 + be added to Radiance.  Hopefully, others will follow.
1706 +
1707 + Added klems_int.cal file to compute Klems bins for windows.
1708 +
1709 + Created genskyvec  utility to sample a particular sky and
1710 + evaluate average radiance over the standard Tregenza sky patches.
1711 +
1712 + Created dctimestep program to compute a set of sensor values or
1713 + a combined image for a particular time using the daylight
1714 + coefficient method.
1715 +
1716 + Created src/rt/rayfifo.c for first-in/first-out handling of
1717 + multiprocessing by raypcalls.c.
1718 +
1719 + Added -n option to rtrace for executing on multiple cores
1720 + using new rayfifo calls.
1721 +
1722 + =====================
1723 + Version 4.1 (Released 11/04/2011)
1724 +
1725 + Changed ranimate behavior so remote login under a different user
1726 + doesn't necessarily require the presence of the originating user's
1727 + home directory.
1728 +
1729 + Changed standard transmission function normalization back to what
1730 + it was in version 3.5, following recommendation of David Geisler-Moroder,
1731 + who pointed out that the revised BTDF increased too much at grazing.
1732 +
1733 + Changed rad behavior with -N >1 on single view to call rpiece.
1734 +
1735 + Updated SCons build system for MINGW compilation, thanks to Christian
1736 + Kohler.
1737 +
1738 + Added -u option to rlam for unbuffered output.
1739 +
1740 + Modified dctimestep to accept sky vector and daylight coefficient matrix
1741 + or list of images to sum together, as suggested by Andy McNeil.
1742 +
1743 + Created genBSDF script to generate BSDF in Windows XML format.
1744 +
1745 + Modified mkillum to accept detailed geometry from BSDF XML files.
1746 +
1747 + Altered obj2rad to ignore zero normals (thanks to Jack de Valpine for
1748 + suggestions and help).
1749 +
1750 + Fixed bug in genklemsamp that caused non-uniform sampling over surfaces.
1751 +
1752 + Fixed bugs in rhoptimize and rhcopy for 64-bit compilation.
1753 +
1754 + Made a change to avoid problem using gcc --fast-math compile option.
1755 +
1756 + ****** COMPATIBILITY CHANGE ********
1757 + Changed behavior of rtrace and rtcontrib so that every scanline is
1758 + not flushed when both -x and -y are set.  This avoids flush delays
1759 + in rtcontrib for large numbers of output files and delays while
1760 + rendering images using rtrace with the -n option.
1761 +
1762 + Added ability for rsensor to output ray origins and directions
1763 + rather than actually loading octree and computing sensor value.
1764 +
1765 + Fixed old bug in obj2rad where it would stop processing and
1766 + report a syntax error if the "void" type is used in the map file.
1767 +
1768 + Updated reflection model according to EGSR 2010 paper by David
1769 + Geisler-Moroder and Arne Duer.
1770 +
1771 + Replaced C-shell version of falsecolor with Perl script written
1772 + by Axel Jacobs.
1773 +
1774 + ****** COMPATIBILITY CHANGE ********
1775 + Changed -sj (specular jitter) option to something called specular
1776 + sampling (-ss), which if set less than 1 has the same behavior as
1777 + the old -sj, but when set greater than 1, spawns multiple ray
1778 + samples from semi-specular surfaces.
1779 +
1780 + Fixed bug noticed by Randolph Fritz that caused ambient sync errors.
1781 +
1782 + Fixed bug in findglare for reading picture files under Windows.
1783 +
1784 + Added options to pvalue to note other color spaces on reverse conversion.
1785 + Thanks to Erich Philips for the feature request.
1786 +
1787 + Added BSDF data-driven material type with full sampling support.
1788 +
1789 + Added BRDF calculations to genBSDF.
1790 +
1791 + Bug fixes in rsensor thanks to help from David Geisler-Moroder.
1792 +
1793 + Added variable-resolution BSDF support in renderers and genBSDF.
1794 +
1795 + Created pkgBSDF program to extract BSDF geometry and put it
1796 + together with surface description suitable for inclusion in
1797 + a Radiance scene.
1798 +
1799 + Muted warning for "no light sources found" when there is at least
1800 + one glow object and interreflections are on (-ab > 0).
1801 +
1802 + Fixed long-standing bug that caused underestimation of reflection
1803 + when specular component was below -st threshold in non-metals.
1804 +
1805 + Checked in cross-platform cmake build system created by Bill Hoffman
1806 + of KitWare and sponsored by NREL.  This includes a qt-based
1807 + driver for rvu, which is built in the new subdirectory src/qtrvu.
1808 +
1809 + =====================
1810 + Version 4.2 (Release date 7/31/2014)
1811 +
1812 + Axel Jacobs added -cp and -palettes options to falsecolor.
1813 +
1814 + Fixed bug in matrix output of genBSDF introduced shortly before 4.1 release.
1815 +
1816 + Made rvu more responsive in multi-processing mode when changing parameters.
1817 + Explicit "new" command not needed to show changes, because it goes back
1818 + to "immediate mode" once something is changed.  Processing will be slow
1819 + but response time quick until next "new" command.
1820 +
1821 + Fixed major bug in transmitting proxy material sampling.
1822 +
1823 + Patched cmake build tools (changes by Zack Galbreath).
1824 +
1825 + Removed requirement for pflip -h to be given input file (can pipe from stdin).
1826 +
1827 + Added "Number of processes" slider to trad "Action" pane to control rad -N
1828 + option for rvu and batch rendering.
1829 +
1830 + Added -c option to vwrays to repeat pixels for rtcontrib.
1831 +
1832 + Reworked rtcontrib program and renamed to rcontrib.  New version runs much
1833 + faster, especially on multiprocessor systems, and doesn't require as much
1834 + memory.  No longer calls rtrace; instead does all the work itself.
1835 +
1836 + Added -d option to genskyvec to produce direct-only (sun no sky) vector.
1837 +
1838 + Added Ashikhmin-Shirley anisotropic BRDF model (ashik2) with help
1839 + from Nicolas Boneel.
1840 +
1841 + Added Ruby rewrite of objview.csh by Rob Guglielmetti.
1842 +
1843 + Fixed bug in reciprocity for tensor tree BTDF representations.  Thanks
1844 + to Andy McNeil for identifying the problem.
1845 +
1846 + Added MNAME and ZNAME variables to ranimove for debugging & testing.
1847 +
1848 + Created pmblur2 command to take motion and depth buffers from ranimove
1849 + to compute a better motion blur.
1850 +
1851 + ****** COMPATIBILITY CHANGE ********
1852 + Changed BSDF routines to use updated/corrected XML specification and
1853 + removed depracated BSDF support from mkillum.
1854 +
1855 + Fixed behavior of i/o flushing in rcontrib with -c > 1 (averaging).  Thanks
1856 + to Lars Grobe for help identifying this problem.
1857 +
1858 + Fixed bug in depth-of-field blur where view distance was measured from
1859 + fore clipping plane rather than viewpoint.  Thanks to Peter A-B for
1860 + pointing this out.
1861 +
1862 + Added options to dctimestep to allow multiple time steps (-n)
1863 + and multiple output pictures or sensor files (-o).  Also added -i
1864 + option to specify float (-if) or double (-id) input for sky matrix.
1865 +
1866 + Created gendaymtx program to compute annual sky patch matrix based
1867 + on Ian Ashdown's implementation of Perez all-weather sky model.
1868 + Output can be sent directly to dctimestep in ASCII or binary stream.
1869 +
1870 + Replaced existing gendaylit.c with improved version from Wendelin Sprenger
1871 + and Jan Wienold of ISE.
1872 +
1873 + Improved accuracy of ambient calculation for large -ad settings.  Thanks
1874 + to Lars Grobe for noticing the problem.
1875 +
1876 + Added -r option to gendaymtx to rotate the sky the specified number of
1877 + degrees about the zenith as suggested by A. McNeil.
1878 +
1879 + Axel Jacobs added -pal eco color map that does a blue-red-yellow scale.
1880 +
1881 + Created bsdf2klems tool to convert from various BSDF representations to
1882 + Klems basis matrix in XML file.
1883 +
1884 + Fixed problem with inappropriate reciprocity enforcement on tensor
1885 + tree reduction in genBSDF.  (Thanks to A.McNeil for discovering issue.)
1886 +
1887 + Fixed bug in isotropic tensor tree sampling for impinging rays
1888 + exactly normal to surface.  Thanks to Peter Apian-Bennewitz for
1889 + discovering and pointing out the error.
1890 +
1891 + Fixed double-counting bug in mirror material with alternate type.
1892 + Thanks to David Geisler-Moroder for spotting the problem and helping
1893 + to fix it.
1894 +
1895 + Created rcollate program to resize and transpose matrix data for Andy
1896 + McNeil's 5-phase annual simulation method.
1897 +
1898 + Added epw2wea conversion program by Christoph Reinhart.
1899 +
1900 + Implemented Perlin's improved noise function with help from Rahul Narain.
1901 + This will change the appearance of renderings using this function.
1902 +
1903 + Added "origin" command to rvu as requested by John Mardaljevic
1904 + to place view origin at selected point in scene.
1905 +
1906 + Switch to Perl versions of objview and objpict written by Axel Jacobs.
1907 +
1908 + Improved rendering speed of scenes with aliases by not entering new
1909 + modifiers into table if they are the same as the previously defined
1910 + modifier for that name.
1911 +
1912 + Made it so icalc and rcalc search RAYPATH directories for *.cal files
1913 + given on command line.  This simplifies script writing and makes these
1914 + utilities consistent with other tools in Radiance.
1915 +
1916 + Added triangulation routine to handle convex polygons in obj2mesh.
1917 +
1918 + ****** COMPATIBILITY CHANGE ********
1919 + Made backface visibility apply to all material types, including
1920 + transparent and translucent materials (except dielectric and interface).
1921 + This makes the option useful in cases where adjacent trans surfaces
1922 + are placed next to each other by a modeler that only understands
1923 + volumetric objects.
1924 +
1925 + Changed dctimestep so that output matrices (-n > 1) are preceded by a
1926 + header, and added support for float and double output formats with -o[fd].
1927 +
1928 + Introduced eplus_adduvf program to compute user view factors for EnergyPlus.
1929 +
1930 + Changed image-plane sampling in rpict to use Hilbert curve, which gives
1931 + less of a brushed/striped appearance to output pixels with -u- (default).
1932 +
1933 + Added ltview and ltpict Perl scripts contributed by Axel Jacobs, inspired
1934 + by Rob Guglielmetti.
1935 +
1936 + Added header variables for NROWS, NCOLS and NCOMP to help standardize
1937 + matrix files.  This functionality has been incorporated into
1938 + rcollate, gendaymtx, and dctimestep.
1939 +
1940 + Created rmtxop utility to operate on multi-component matrices.  This
1941 + facilitates some daylight matrix calculations, and provides a general
1942 + tool for manipulating matrix data.
1943 +
1944 + ****** COMPATIBILITY CHANGE ********
1945 + Introduced new Hessian-based error control in irradiance caching (ambient)
1946 + calculation.  Since the format of the stored ambient values is different,
1947 + the old files will be rejected with an error message and must be removed.
1948 + The programs may be compiled with the -DOLDAMB option if this is a problem.
1949 +
1950 + Added -p option to rcontrib to set function file parameters on a per-modifier
1951 + basis to simplify bin evaluation.
1952 +
1953 + Created rfluxmtx program to compute flux transfer matrices from a sender
1954 + surface to one or more receiver surfaces.  (Renamed the file klems_int.cal
1955 + to klems_full.cal in the process.)
1956 +
1957 + Added "-c" option to getinfo to execute command on data segment.
1958 +
1959 + ================================
1960 + Version 5.0 (Released 9/18/2015)
1961 +
1962 + Changed rmtxop so it writes out same type as lesser of inputs unless
1963 + directed otherwise using -f? option.
1964 +
1965 + Changed order of oconv arguments in rfluxmtx so user can specify input
1966 + octree using -i option at the end instead of (or in addition to) a
1967 + list of scene files.
1968 +
1969 + Added support for argument expansion to rfluxmtx and bug fixes.
1970 +
1971 + Fixed bug in indirect hemisphere sampling for some corner cases.
1972 +
1973 + Added default specular lobe to BSDF interpolation.
1974 +
1975 + Set minimum number of shadow checks before direct optimization (4).
1976 +
1977 + (Above changes included in 4.2.1 patch release.)
1978 +
1979 + ****** COMPATIBILITY CHANGE ********
1980 + Made header input and output the default behavior for dctimestep and
1981 + genskyvec.
1982 +
1983 + ****** COMPATIBILITY CHANGE ********
1984 + Changed pabopto2bsdf default behavior to add 90-degree rotation
1985 + to bring pgII's definition of "up" in line with Klems axis
1986 + conventions.  Introduced a new header variable "upphi" to
1987 + control this added rotation.  Using "#upphi 90" in each
1988 + BSDF input file gets back the original behavior, where it
1989 + assumes that the up direction is 90-degrees from the X-axis.
1990 + The default value of 0 corresponds to PAB's definition of
1991 + the X-axis as being "up".
1992 +
1993 + Fixed bug in rsensor related to having many rows (altitude) and
1994 + few columns (azimuth) in sensitivity file.
1995 +
1996 + Fixed floating point round-off error in new Hessian calculation
1997 + for some sytems (Windows, primarily).
1998 +
1999 + Fixed bug in tensor tree BSDF code that caused bus error on
2000 + some systems, and may have been source of other errors as well.
2001 +
2002 + (Above changes included in 4.2.2 patch release.)
2003 +
2004 + Improved ambient extrapolation to avoid zero values.  Actual
2005 + threshold set to 5% of recorded value.
2006 +
2007 + Changed anisotropic Gaussian and Ashikhmin models so that
2008 + illegal orientation vectors are dealt with more gracefully.
2009 +
2010 + Created wrapBSDF tool and incorporated into genBSDF along
2011 + with new rfluxmtx computation.
2012 +
2013 + Initial check-in of Roland Schregle's photon map integration.
2014 + New 5.0a version designation as suggested by Andy McNeil.
2015 +
2016 + Added left-hand coordinate sytems to rfluxmtx to correct
2017 + problems with coordinate axis orientations pointed out by
2018 + David Geisler-Moroder.
2019 +
2020 + Added color output to genBSDF (+C option) and support for
2021 + color rendering of Klems and tensor tree data.
2022 +
2023 + Fixed another bug in rsensor that caused rays to be generated
2024 + on opposite side of hemisphere even where sensitivity was zero.
2025 +
2026 + Fixed bug discovered by Jacob Jonsson in Klems BSDF
2027 + interpolator that caused it to over-predict normal
2028 + transmittance and reflectance.
2029 +
2030 + Added ability to read input from commands in dctimestep
2031 + and rmtxop.
2032 +
2033 + Added photon map support to rad.  Fixed some double-counting
2034 + issues in photon-mapping spotted by David Geisler-Moroder.
2035 +
2036 + Added photon map support to trad.
2037 +
2038 + Fixed bug in antimatter source testing when antimatter
2039 + definition follows potential obstructor in input.
2040 +
2041 + Fixed issue with missing character type identifier at head
2042 + of genBSDF XML output.
2043 +
2044 + Prompted by Roland S., added option to have pcompos -a order
2045 + rows from top rather than bottom of image.
2046 +
2047 + Changed dctimestep to accept matrix as well as BTDF input
2048 + in the VTDs invocation mode.  This permits the output of
2049 + rmtxop to be used in a pinch when combining multiple BTDF
2050 + layers, although interreflection between layers is not
2051 + accounted for properly as it is in the WINDOW program.
2052 +
2053 + Added Jan Wienold et al.'s evalglare to distribution.
2054 +
2055 + Hopeful fix to deadlock issue under Mac OS X 10.10.x (Yosemite).
2056 +
2057 + Fixed early exit of rcontrib with internal error (sample behind sender)
2058 + discovered by Rob G.
2059 +
2060 + =================================
2061 + Version 5.1 (Released 8/17/2017)
2062 +
2063 + Fixed issue with vchars.mta and symbols.mta not being installed in
2064 + the appropriate metafile library location, with help from Rob G.
2065 +
2066 + Added ability to give quoted strings to output= directive in rfluxmtx.
2067 +
2068 + ****** COMPATIBILITY CHANGE ********
2069 + Added ability to digest color (CIE-XYZ) input in pabopto2bsdf.
2070 + This change alters the .sir (interpolant) format, so these files
2071 + will need to be regenerated.  Use the new "#colorimetry: CIE-XYZ" tag
2072 + to enable on input.
2073 +
2074 + Rewrote bsdf2klems to support tristimulus color and call wrapBSDF.
2075 + Did the same for bsdf2ttree.  Function specifications still gray only.
2076 +
2077 + Reduced a problem where rvu or rholo would be slow to quit when
2078 + run with many processes on a large model or one with a large
2079 + ambient file (taking lots of memory).  We were waiting for
2080 + processes to quit one-by-one, which takes some time for each
2081 + process as it disentangles its shared memory.  We now
2082 + wait for all the processes together, so they can disentangle
2083 + in parallel.  It can still take up to a minute in some cases,
2084 + but not 10 minutes like it was taking before the fix.
2085 +
2086 + Enabled ambient cache value corral for all levels, not just final two.
2087 + This may reduce errors in certain pathological scenes.
2088 +
2089 + Added -in option to rcalc, rlam, and total to limit the number of
2090 + input records in hopes of circumventing Windows EOF issues on binary data.
2091 + Also added -on option to rcalc and total for logical symmetry.
2092 +
2093 + Increased modifier limit to 10,000 in rcontrib.
2094 +
2095 + Fixed issues with glrad and added zoom response to mouse wheel input.
2096 +
2097 + Added missing definition of "ashik2" material type to reference manual.
2098 +
2099 + Changed genBSDF to calculate device thickness assuming Zmax==0 so
2100 + pkgBSDF will generate correct proxy geometry.
2101 +
2102 + Created pabopto2xyz tool to combine different sensor measurements
2103 + into a single CIE-XYZ measurement file for color BSDF interpolation.
2104 +
2105 + Jan Wienold updated evalglare to version 1.30
2106 +
2107 + Roland Schregle added out-of-core photon mapping routines, which
2108 + may be compiled using the PMAP_OOC macro.
2109 +
2110 + Added -a option to getinfo for easy addition of header lines.
2111 +
2112 + Fixed issue with multiple records on picture output in rcontrib (and rfluxmtx).
2113 + Credit to Sarith Subramaniam for pointing out the problem.
2114 +
2115 + Made mkillum more tolerant of non-planar polygons in its sampling routines.
2116 +
2117 + Added "-recover" option to genBSDF to pick up where it left off.
2118 +
2119 + Fixed genBSDF issue that was created incorrect normalization of
2120 + Klems output.  Thanks to David G-M and Christian Knoflach for
2121 + discovering the error.  Also improved sampling of indirect irradiance
2122 + that showed some slight bias due to poor sample collision avoidance.
2123 +
2124 + Fixed long-standing issue with -aa 0 neglecting textures in calculating
2125 + surface shading.
2126 +
2127 + Fixed bug in ranimove introduced during photon map integration.
2128 +
2129 + Added check for steep sections of BSDF in pabopto2bsdf, creating narrower
2130 + peakes in those places and mitigating some normalization issues.
2131 +
2132 + Added view360stereo.cal by Mark Stock to handle 360-degree over/under
2133 + stereo views.
2134 +
2135 + Added MAX2SHADE macro to place limit on number of light sources
2136 + to precheck for obstructions.  (Currently set to 200.)  This
2137 + avoids excessive start-up times for scenes with many light sources.
2138 + Thanks to Axel Jacobs for pointing out the problem.
2139 +
2140 + Added -v option to obj2mesh to print out mesh statistics.
2141 +
2142 + Rewrote bsdf2rad from ground up and made it a standard part of build.
2143 +
2144 + Fixed bug in orientation of Reinhart/Tregenza sample generator in rfluxmtx.
2145 +
2146 + Added ability to perform shadow-testing through unproxied BSDFs with strong
2147 + through (direct-direct) component.
2148 +
2149 + Added {+|-}a options to genBSDF and bsdf2ttree for switching off reciprocity
2150 + averaging.
2151 +
2152 + Added bias to see through BTDFs with a strong "through" component
2153 + rather than scattering view rays.  This is in lieu of peak extraction,
2154 + which looked to be too difficult from an implementation standpoint.
2155 +
2156 + Added bsdfview tool analogous to objview but for BSDF files (XML and SIR),
2157 + which calls bsdf2rad then rad with a few useful default views.
2158 +
2159 + =========================
2160 + Version 5.2 (Release October 8, 2018)
2161 +
2162 + Created psketch program to apply non-photorealistic rendering to selected
2163 + objects, identified by modifier name(s).
2164 +
2165 + Added '*' and '/' operations to rmtxop for element-wise multiplication and
2166 + division of same-sized matrices.
2167 +
2168 + Changed falsecolor so "-s" option is adjusted to match legend if one.
2169 +
2170 + Falsecolor legend changes and improvements by David G-M and Stephen W.
2171 +
2172 + Fixed bug in peak extraction code that generated
2173 + "Bad call to SDqueryTreProjSA" error, reported by Lars Grobe.
2174 +
2175 + Increased maximum luminance to 10^7 in pcond to fix issue noticed
2176 + by Axel Jacobs where veiling glare not added for the sun under
2177 + some conditions.
2178 +
2179 + Increased maximum number of open files in rcontrib to the system upper
2180 + limit of 2048 rather than the default 512 under Windows.
2181 +
2182 + Added top-level resources directory with files from Rob Guglielmetti.
2183 +
2184 + Improved accuracy for peaky BSDFs and small light sources.
2185 +
2186 + Fixed issue with pmapdump noted by Axel Jacobs.
2187 +
2188 + Improved accuracy of bsdf2ttree when converting scattering interpolation
2189 + representatons with strong peaks.
2190 +
2191 + Tweaked peak-extraction code to work more reliably.
2192 +
2193 + Georg Mischler updated SCons build system.
2194 +
2195 + Rob Guglielmetti and Alex Swindler updated CMake build system.
2196 +
2197 + Modified pcomb so the first view seen in the inputs is written into header.
2198 +
2199 + Wrote rtpict script to run rtrace in parallel mode and simulate rpict with
2200 + -n option.
2201 +
2202 + Added ability to move forwards/backwards specified distance in rvu "origin"
2203 + command.  Feature requested by John Mardaljevic, who essentially owns this
2204 + command, now.
2205 +
2206 + Reduced bias in ambient super-sampling method.
2207 +
2208 + Fixed bugs associated with zero transmission in chromatic tensor trees.
2209 + Thanks to Lars Grobe for pointing out issues.
2210 +
2211 + Added RAYPATH searching for -f options to genrev, gensurf, genworm,
2212 + bsdf2klems, bsdf2ttree, and pcomb.  This makes behavior consistent
2213 + with rcalc, calc, and rendering tools.
2214 +
2215 + Worked with Randolph Fritz to fix some issues with ies2rad and newer
2216 + IESNA63 standards.
2217 +
2218 + Resurrected original bsdf2rad test program, renaming it bsdf2rado. Still an
2219 + optional build in src/cv/.
2220 +
2221 + Fixed bug in rcontrib with virtual sources, where pretest was adding
2222 + to modifier accumulation buffers.  Reported by Mostapha.
2223 +
2224 + Added an "aBSDF" material type that explicitly checks for peak extraction.
2225 + Its arguments are the same as the original "BSDF" type, but without the
2226 + thickness parameter, as proxy geometry is not supported by this new type.
2227 + The old "BSDF" type no longer does peak extraction under any circumstances,
2228 + since this behavior is superfluous for proxied geometry.
2229 +
2230 + Added -r option to bsdf2rad (and bsdfview) to fix BSDF min and max range
2231 + for comparing BSDFs.
2232 +
2233 + Fixed issue with pfilt -m option and uneven image size changes pointed
2234 + out by Rob Shakespeare.
2235 +
2236 + Updates to evalglare and gendaylit from Jan Wienold, including new
2237 + colored sky option.
2238 +
2239 + =========================
2240 + Version 5.3 (Released September 1, 2020)
2241 +
2242 + Created radcompare program to compare Radiance tool output to reference outputs
2243 + during unit-testing.
2244 +
2245 + Fixed issue reading very large files (> 2 GBytes) in rcollate.
2246 +
2247 + Made picking function in rvu ignore transparent and void surfaces.
2248 +
2249 + Added -orRxX options to rtrace to enable output of mirrored and unmirrored
2250 + contributions and distances to enable new types of reprojections.  This also
2251 + cleaned up and unified handling of effective ray lengths throughout code.
2252 +
2253 + Bug fixes from Jan Wienold for evalglare.
2254 +
2255 + Changed indexed (numbered) output from dctimestep to start from 0 rather
2256 + than 1, to make it more consistent with expected input naming.
2257 +
2258 + Increased default sampling in bsdf2klems (-n option) to 1024.
2259 +
2260 + Fixed an issue noticed by David G-M that was causing genBSDF to bias
2261 + isotropic tensor tree samples resulting in subsequent failure of
2262 + peak extraction with "aBSDF" type.
2263 +
2264 + Introduced max() and min() functions to .cal library.
2265 +
2266 + Added random incident patch sampling to bsdf2klems to improve accuracy
2267 + with scattering interpolation representation input (e.g., from
2268 + pabopto2bsdf).  The other input types already sampled incident patch area.
2269 +
2270 + Added gendaymtx -A option to compute average sky over all the input
2271 + time steps.
2272 +
2273 + Added ability to output color image from rtrace with any of -ovrx options.
2274 + Also fixed inconsistency of -oN output when ray casting versus full trace.
2275 + Before, it would flip normal to front side unless ray casting.  Now, -oN
2276 + always reports the unflipped normal.
2277 +
2278 + Changed rlam behavior so -iaN reads N lines from a stream rather than N
2279 + characters.  This seems more useful, since -ibN is somewhat redundant with
2280 + the old behavior.
2281 +
2282 + Created rsplit program as compliment to rlam and to handle more complex
2283 + rtrace output into separate files or streams.
2284 +
2285 + Improved getinfo so that it can also hop over resolution string with -c
2286 + and header elide mode.  Use +d to include resolution string in output,
2287 + and -d to elide with - and -c options.
2288 +
2289 + Made pvalue -u option mean "uncompressed" with -r.  Also, allow skipping
2290 + bytes on standard input.
2291 +
2292 + Created rcode_depth tool to convert to and from a 16-bit/pixel portable
2293 + depth image encoding that uses a mix of linear and reciprocal distance
2294 + with explicit representations of 0 and infinity.  Code for loading these
2295 + depth maps is in src/common/depthcodec.{h,c}.
2296 +
2297 + Created rcode_norm tool to convert to and from 32-bit/pixel portable
2298 + surface normal representation, matching the one in src/common/dircode.c.
2299 + Code for loading normal maps is in src/common/normcodec.{h,c}.
2300 +
2301 + Created rcode_ident tool to create indexed identifier files.
2302 + Code for loading these files is in src/common/idmap.{h,c}.
2303 +
2304 + Added -o* option to rtpict to produce layered images that handle most
2305 + output types from rtrace (colors, surface normals, distances, IDs).
2306 +
2307 + Created rcode2bmp script to create images from new rcode_* output maps.
2308 +
2309 + Improved efficiency of rmtxop in cases where matrix multiplication is
2310 + faster evaluated right-to-left, as when the final component is a
2311 + column vector.  Also added ability to apply trailing unary operators
2312 + (-t, and -s or -c) to resulting matrix.
2313 +
2314 + Added new depth, normal, and ID file types to radcompare.
2315 +
2316 + Added BigEndian= header line for automatic byte-swapping in rmtxop
2317 + and radcompare.
2318 +
2319 + Added new "turbo" palette to falsecolor (thanks to Taoning).
2320 +
2321 + Nathaniel Jones created the "dcglare" program for annual glare
2322 + simulations when the sun and sky are visible through the window.
2323 + Tutorial is posted at
2324 + "https://github.com/nljones/Accelerad/wiki/The-Imageless-Method-for-Spatial-and-Annual-Glare-Analysis".
2325 +
2326 + Added support for loading RGBE images into matrices in dctimestep.
2327 +
2328 + Added -y option to gensky and gendaylit to support more accurate Michalsky
2329 + solar position calculation.
2330 +
2331 + Changed rsplit, so specifying a space as the separator parses words
2332 + between whitespace.
2333 +
2334 + Added ability of vwrays, pinterp, and pmblur2 to read encoded depth files.
2335 +
2336 + Added -o RxCxR1xC1 facility to perform blocking in rcollate.
2337 +
2338 + Made it so number of segments in genworm, genrev, and gensurf can be
2339 + given as expressions of previously defined variables, etc.
2340 +
2341 + Added -D and -n option to gendaymtx to output sun description and skip
2342 + matrix output on request.  A -M option was also added to output solar
2343 + modifiers for rcontrib.  Support also added for leap days in WEA input.
2344 + Enhancements sponsored by Ladybug Tools.
2345 +
2346 + Updated eplus_uvf to work with IDF version 9.x, checking version number.
2347 +
2348 + Fix to glarendx issues with dgi calculation.
2349 +
2350 + Made it so rmtxop and dctimestep undo any exposure applied to Radiance
2351 + pictures they may load.
2352 +
2353 + Added robjutil utility to manipulate Wavefront .OBJ files.
2354 +
2355 + Fixed a crash related to rtrace -om or -oM with mesh instances containing
2356 + materials.
2357 +
2358 + Improved rtrace flushing function to handle any value for -x without
2359 + deadlock on controlling process.
2360 +
2361 + Eliminated unnecessary start-up procedures for rtrace when only ray-casting
2362 + is needed (i.e., no tracing or value output).
2363 +
2364 + Improved isotropic sampling method in bsdf2ttree using "zipper" approach
2365 + applied in genBSDF.
2366 +
2367 + Added limit to memory used by high-resolution tensor tree BSDFs for
2368 + cumulative cache during MC sampling (rendering).  Limit set to 250MBytes
2369 + per BSDF for standard architectures.
2370 +
2371 + Added -n and -s options to bsdf2ttree to provide some user control
2372 + over super-sampling.
2373 +
2374 + Improved surface normal codec used by ambient file to store orthonormal
2375 + directions exactly.
2376 +
2377 + Improved peak extraction method, which was undervaluing transmission
2378 + in many cases.
2379 +
2380 + New version of evalglare from Jan Wienold.
2381 +
2382 + Added -u option to gendaymtx to elide data columns (time steps) when
2383 + the sun is not visible above the horizon.
2384 +
2385 + =========================
2386 + Version 5.4
2387 +
2388 + Added rcollate -c option to force operation to continue even if it
2389 + seems unnecessary.  Made tool more robust.
2390 +
2391 + Added -t option to rcontrib (and rfluxmtx) to report progress after the
2392 + given number of seconds.
2393 +
2394 + Added "test" target to makeall to run unit tests.
2395 +
2396 + Modified bsdf2ttree to allow different parameters per input SIR file.
2397 +
2398 + Fixed issues with very large matrix files (> 2GB) in dctimestep, rmtxop,
2399 + and rcollate.
2400 +
2401 + Added -rf and -rb options to rmtxop to load front or back reflectance
2402 + matrix data from XML file rather than transmission.  (Lars Grobe suggested.)
2403 +
2404 + Improved behavior for coincident surfaces with different materials.
2405 + Rather than returning one surface or the other based on floating-point
2406 + vagaries, opaque materials are now preferred over transparent ones.
2407 + If the materials are both transparent or both opaque, then whichever
2408 + surface appeared later in the scene description will be selected.
2409 + This came of a request for consistent behavior with legal CAD output
2410 + from Peter Apian-Bennewitz.
2411 +
2412 + Added explicit tests for on-edge intersections with polygons.  This should
2413 + eliminate stray rays and tiny light leaks that often appear even in
2414 + well-constructed geometry.
2415 +
2416 + Added "-s up" option to pabopto2bsdf to allow for 180 degree symmetry,
2417 + meaning that data repeats after 180 degree rotation (as distinguished
2418 + from "-s bilateral" whose data is mirrored about a vertical plane).
2419 + Thanks to Helen Rose Wilson for the suggestion and informing me that
2420 + such a thing exists.
2421 +
2422 + Removed upper limit on number of modifiers in rcontrib.
2423 +
2424 + Put cap on maximum ambient gradient to avoid over-extrapolation of
2425 + poorly computed irradiance cache values.
2426 +
2427 + Added robjutil +T option to triangulate all faces in .OBJ description.
2428 +
2429 + Altered BSDF library to have both front and back diffuse transmittance
2430 + values, which can be different.  This was necessary to avoid issues
2431 + caused by measurement and modeling discrepancies.
2432 +
2433 + Added pabopto2bsdf -g option to cull near-grazing scattering to avoid
2434 + issues with noise and negative values.
2435 +
2436 + Increased default dynamic range from 32 to 100 in pcond and normtiff.
2437 +
2438 + Added -o and -n options to genbox to create .OBJ output and segment
2439 + edges and corners for transparent materials.  Also added -s option
2440 + to control smoothing for .OBJ and Radiance with segmented rounding.
2441 +
2442 + Made it so robjutil with the +r option for Radiance output now
2443 + produces normal smoothing unless normals are removed with -n.
2444 +
2445 + Added exposure preservation to pcompos when possible (i.e., when
2446 + there is only one input or inputs agree on exposure).
2447 +
2448 + Added -DSHARP_RGB compile-time option to use sharp RGB color space
2449 + rather than historic default.  This can make for more accurate color
2450 + calculations, but requires that materials be recalibrated.  The
2451 + PRIMARIES= line is also produced on output from rpict or rvu with
2452 + the correct set of primaries based on how the system was compiled.
2453 +
2454 + Added automatic flushing to the output of total, except when the -r
2455 + (running subtotals) option is used.
2456 +
2457 + Improved behavior of little-used -aw option, so that it avoids sea-level
2458 + rise caused by adding its own estimate back into the ambient level remainder.
2459 + It ended up being simple enough to derate the final average by the factor
2460 + corresponding to average surface absorpition, thus removing the average
2461 + from the final bounce estimate.
2462 +
2463 + Introduced ies2rad upgrades by Randolph Fritz.  Randolph says it
2464 + fixes the following problems:
2465 +
2466 +        1. Generates correct Radiance geometry for spheres in 1995, 2002,
2467 +        and 2019 IES files.
2468 +
2469 +        2. Generates correct Radiance geometry for vertical cylinders that
2470 +        are taller than they are wide.
2471 +
2472 +        3. Ignores the file source ("File Generation Type") field in the
2473 +        2019 version of the file, which would otherwise be incorrectly used
2474 +        as an output multiplier.
2475 +
2476 +    It also offers the following enhancements:
2477 +
2478 +        1. Shape information is included in the .rad file comments.
2479 +
2480 +        2. 1995, 2002, and 2019-version luminous opening geometry is
2481 +        accounted for.
2482 +
2483 +        3. The 2002 and 2019 IES file versions are recognized and
2484 +        processed appropriately.
2485 +
2486 +        4. I have made an attempt to do something intelligent with less
2487 +        common "luminous opening" shapes in the 1995, 2002, and 2019 versions
2488 +        of the standard, though I have not implemented any support for new
2489 +        geometry; approximations are substituted and warning messages issued.
2490 +        Unfortunately, this code is not tested, since I don't have any IES
2491 +        files that use these shapes.
2492 +
2493 + Added support for depth-of-field blurring in vwrays using -pd option.
2494 + Also, made -c count work with vwrays -i, producing multiple samples
2495 + per indicated pixel position.  At the same time, support for the -pd
2496 + option was added to rtpict, which calls on vwrays for its samples.
2497 +
2498 + Fixed issue with BSDFs that didn't obey reciprocity, where direct
2499 + sampling wasn't following exactly with indirect sampling.  This was
2500 + discovered and reported by Jon Sargent.
2501 +
2502 + Created checkBSDF tool to test XML BSDF reciprocity and perform similar
2503 + sanity checks.
2504 +
2505 + Added -O option to pvalue and pextrem to report watts/sr/m^2 even if
2506 + picture is XYZE.
2507 +
2508 + Made subtle changes to header i/o routines to preserve alignment in
2509 + binary file formats to enable memory-mapping.  Implemented memory-mapped
2510 + matrix loading in rmtxop for binary double files.
2511 +
2512 + Removed ambient value sorting, which was written when ambient caches
2513 + could overwhelm available memory.  This is rarely the case these days,
2514 + and the added code complexity and updating of cache values with LRU
2515 + counts dirties pages that would otherwise remain clean, so it was
2516 + often a loss even when VM was an issue.
2517 +
2518 + Added iso2klems script to compute a Klems BSDF based on specular
2519 + and diffuse measurements as a function of incident angle.
2520 +
2521 + Fixed issue with over-counting diffuse component during aBSDF
2522 + peak extraction.
2523 +
2524 + Added dctimestep -x and -y options to specify image dimensions
2525 + for multiple outputs corresponding to result vectors.
2526 +
2527 + Added -P option to rcalc to pass formatted input when cond is <= 0.
2528 +
2529 + Created rcrop utility for cropping matrices and pictures more
2530 + conveniently, correcting view information.  Expect it to be handy
2531 + for extracting rows and columns from matrices, mostly.
2532 +
2533 + Changed pcomb so -o option elides original exposure values
2534 + from indented source headers.
2535 +
2536 + Added getinfo -r option, which is similar to -a except it will
2537 + replace indicated lines with new ones.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines