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.172 by greg, Thu Jul 1 21:54:55 2010 UTC vs.
Revision 1.442 by greg, Thu Jan 4 01:55:42 2024 UTC

# Line 1720 | Line 1720 | Added -n option to rtrace for executing on multiple co
1720   using new rayfifo calls.
1721  
1722   =====================
1723 < Version 4.1
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
# Line 1739 | Line 1739 | 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.
2538 +
2539 + Slight change to vwrays -d option to not spit out "-ld-", and to
2540 + produce "-ld+" without requiring input picture as argument.
2541 +
2542 + Added automatic overture calculation to rtpict with -n > 1 if
2543 + ambient cache is on and file is named.  If straight image output
2544 + is requested, we randomize all samples and avoid cache collisions.
2545 +
2546 + Added cnt -s option to shuffle output.
2547 +
2548 + Fixed issue with divide-by-zero errors in the ambient super-sampling
2549 + routine discovered by Jon Sargent of Solemma.  This affected regions
2550 + that had zero radiance, such as black backgrounds or unlit areas
2551 + with -av 0 0 0, when super-sampling was effectively disabled, causing
2552 + some loss in accuracy of the results.
2553 +
2554 + Updated Klems Half- and Quarter-bases to match angles currently used
2555 + in WINDOW.
2556 +
2557 + Eliminated most aiming failures for triangular light sources, at the
2558 + expense of conservative sampling near the centroid.  Thanks to
2559 + David Geisler-Moroder for his help on this.
2560 +
2561 + Increased maximum set size to 8191 to avoid set overflow errors.
2562 +
2563 + Added source obstruction test to statistics being kept on which
2564 + sources were visible in adaptive shadow testing code.  Previous
2565 + behavior was likely over-estimating source contributions.
2566 +
2567 + Added diffuse components into maximum directional hemispherical
2568 + reported by checkBSDF, so comparing to 100% is easier for each
2569 + component.
2570 +
2571 + Fixed incorrect calculations in iso2klems script, thanks to
2572 + help from Jacob Jonnson.
2573 +
2574 + Updated official copyright and license according to new wording
2575 + provided by Jean Haemmerle at the LBNL Intellectual Property Office.
2576 + Both were copied verbatim from e-mail I received from Taoning Wang
2577 + on 8/20/2022.
2578 +
2579 + Added -features option to rpict, rtrace, and rcontrib to check
2580 + which features are present or look for specific feature support.
2581 + This addition was suggested by Peter Apian-Bennewitz as an easier
2582 + way to determine which version of Radiance is installed and what
2583 + it supports, and is timely as we begin our refactoring of the
2584 + rendering code.  There are no current plans to add this to rvu.
2585 +
2586 + Added falsecolor -odim, -orct, and -c0 options to overlay grid of
2587 + values on image.  This was requested by Rob Shakespeare.
2588 +
2589 + Added -i* and -o* options in rhcopy for reading rays from the
2590 + standard input and writing rays from holodeck to standard output.
2591 + This will hopefully be useful in combining rholo with rcontrib.
2592 +
2593 + Added further checking for coincident (overlapping) flat surfaces,
2594 + preferring front sides to back sides in the ray intersection
2595 + calculation.  This only applies to rings and faces, as the other
2596 + surface types would have required additional calculations to
2597 + make them work.  Material transparency is still the primary
2598 + consideration, now followed by ray hit side, followed by
2599 + modifier definition order in the input.
2600 +
2601 + Increased octree and object limits to allow scenes with billions
2602 + of primitives.
2603 +
2604 + Made reciprocity averaging default to "off" in bsdf2ttree, as it seems
2605 + to create more problems than it solves.
2606 +
2607 + ====================
2608 + Version 6.0
2609 +
2610 + Extensive changes to enable spectral rendering, which defaults to "off"
2611 + to maintain backwards-compatibility with previous versions, with the
2612 + exception of the ambient file format, which is changed.  The MAXCSAMP
2613 + macro, which defaults to 24, sets the maximum number of spectral samples.
2614 + The actual number of samples is set by the "-cs" option, which defaults
2615 + to 3 for rpict, rtrace, and rcontrib.  The latter two programs support
2616 + straight spectral output, but rpict is initially restricted to
2617 + tristimulus output pictures.  New pattern primitives "spectrum",
2618 + "specfile", and "specfunc" have been added as a means to specify
2619 + spectral reflectance, emittance, etc. to materials that still have
2620 + only 3 color channels.  Those RGB channels will still affect the
2621 + spectrum if used.  Unfortunately photon-mapping is currently broken when
2622 + spectral sampling is enabled, but we will fix this as soon as possible.
2623 + Calculation overhead appears to be approximately 10-15% for RGB
2624 + renderings compared to version 5.4a.
2625 +
2626 + Added spectral rendering to rvu as well, and made -cs and -cw
2627 + options standard across the rendering library.  I also brought
2628 + mkillum, ranimove, rsensor, and mksource into the fold.  These
2629 + tools were broken in the initial release.  (Hopefully, they are
2630 + working now, but none have been tested as yet.)
2631 + There was also an indexing bug in the spectral->RGB conversions
2632 + that made reds into blues and vice versa, which has been fixed.
2633 +
2634 + Added i/o for spectral pictures to rmtxop, the first program that can
2635 + ingest them.  (Only rtrace, rcontrib, and rfluxmtx can render them.)
2636 + New symbolic rmtxop -c options, such as RGB, XYZ, S (for scotopic)
2637 + and M (for melanopic) make color conversions simpler.  Alternatively,
2638 + a reference matrix or picture may be given and the color space of
2639 + that file will be used.  The -C option takes either a symbolic
2640 + color space or reference file and is "sticky," so it applies to
2641 + all subsequent input files that do not have their own -c right ahead
2642 + of them.
2643 +
2644 + Added spectral picture support to rcrop and radcompare.
2645 +
2646 + Added new utility, rcomb, which is something like a combination
2647 + of rmtxop and pcomb, it works with all the inputs and
2648 + outputs that rmtxop handles, but allows for general expressions
2649 + like those in pcomb for putting matrices together, working on
2650 + an element at a time.  (No resizing of matrices or accessing
2651 + neighboring elements, as permitted in pcomb.)  It saves memory
2652 + over rmtxop by operating on a row at a time, so can handle
2653 + input and output matrices with any number of rows.  It does
2654 + provide for a single matrix-multiplication operation at the end,
2655 + which only requires memory for that final matrix.
2656 +
2657 + Added support for filtering hyperspectral images to pfilt.
2658 +
2659 + Added support for 1- and 3-component float matrix i/o to
2660 + pcomb to allow for better interoperability.
2661 +
2662 + Added support for -co+ option to rtpict, so it can directly
2663 + produce hyperspectral images.
2664 +
2665 + Added new "specdata" and "specpict" primitives to support
2666 + interpolated spectral data files and hyperspectral images
2667 + as patterns.
2668 +
2669 + Added support for multispectal sampling in rsensor, which will
2670 + put out as many color channels as specified in any -cs option
2671 + (default is 3 for RGB).
2672 +
2673 + Added ability of mgf2rad to convert spectral data at least
2674 + for light, glow, plastic, and metal primitive types.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines