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.23 by greg, Wed Nov 19 16:21:28 2003 UTC vs.
Revision 1.394 by greg, Thu Sep 2 16:11:24 2021 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 1172 | Line 1172 | Added -N option to rad to start multiple rendering pro
1172   parallel.
1173  
1174   Fixed bug where mesh instances were not being freed, so subsequent calls
1175 < in programs like ranimate would refer to bogus data.
1175 > in programs like ranimove would refer to bogus data.
1176  
1177   Added support in normtiff for floating-point and 16-bit/sample TIFF input
1178   files.
# Line 1180 | Line 1180 | files.
1180   Changed marksources() routine (src/rt/source.c) to check all
1181   primitives in the modifier chain for emitting types, not only
1182   the first.  This permits sources to be described with intervening
1183 < modifiers before the light/illum/glow primitive.
1183 > modifiers before the light/illum/glow primitive and allows aliases
1184 > as well.
1185  
1186   Fixed bug in xform where it was neglecting to add transform arguments
1187   to new mesh primitive.
# Line 1190 | Line 1191 | doubles, respectively.
1191  
1192   Changed meta2tga to output correct colors.
1193  
1193 ****** COMPATIBILITY CHANGE ********
1194   Changed local coordinate index from 32-bits to 16-bits, which requires
1195 < that Radiance mesh files be recompiled.
1195 > that Radiance mesh files be recompiled.  (Later decided against this
1196 > change, as it caused problems with some models.)
1197  
1198   Changed integer tone-mapping routines to better deal with images
1199   containing large, constant regions.
# Line 1220 | Line 1221 | Added in(i) function to rcalc for more flexible channe
1221   Replaced all calls to vfork() with regular fork() calls.
1222  
1223   Fixed bug in glarendx for dgr calculation with sources behind view.
1224 +
1225 + Added -p option to histo to print percentages/percentiles r.t. counts.
1226 +
1227 + Added a source occluder cache to accelerate shadow testing.  This
1228 + can save up to 50% of the calculation time in scenes with many
1229 + light sources, especially ones containing large occluders.  This
1230 + optimization may be tuned or switched off with the -DSHADCACHE=N
1231 + compile switch, where N is the resolution of the shadow cache, or
1232 + 0 to disable it.  Since this is purely a time vs. memory trade-off,
1233 + I decided not to make it a new command-line option.  (We already
1234 + have plenty.)
1235 +
1236 + ****** COMPATIBILITY CHANGE ********
1237 + Changed the following command names to avoid conflicts:
1238 +        rview -> rvu (with symbolic link back to rview)
1239 +        calc -> icalc
1240 +        lam -> rlam
1241 +        gencat -> gencatenary
1242 +
1243 + Improved -f option of normpat, which caused odd color changes before.
1244 +
1245 + Created pgblur script which does fast Gaussian blur of image without changing
1246 + its dimensions.  This is very useful in certain types of image processing
1247 + calculations, such as finding or removing low frequencies.
1248 +
1249 + ****** COMPATIBILITY CHANGE ********
1250 + Changed little-used objpict script so that it takes scene files rather than
1251 + rpict options on the command line, and puts everything into the right
1252 + coordinate position automatically rather than requiring the user to do it.
1253 +
1254 + Added -I option to replmarks for mesh instancing.
1255 +
1256 + Made similar change for virtual sources to allow modifiers and aliases
1257 + on the mirror and prism types to work properly.
1258 +
1259 + Rob Guglielmetti added -lw and -lh options to falsecolor to control the
1260 + legend dimensions.  Made it so -lw 0 and/or -lh 0 turns legend off.
1261 +
1262 + Made it so pcompos will read everything from a stream even if it doesn't
1263 + need it, so input commands will not receive a hangup signal.
1264 +
1265 + Wrote ra_bmp program to convert to and from Windows BMP files (finally).
1266 + It's the most horrible image format I've ever seen, and I've seen a lot.
1267 +
1268 + Increased -aa default value for all renderers (and also -ad and -as in
1269 + rview) at Schorsch's suggestion.  I think this undid my earlier decrease
1270 + of -aa last time, which I guess was ill-considered.
1271 +
1272 + Modified oconv to keep subdividing the octree if there are too many
1273 + objects in a voxel even when the -r resolution limit has been
1274 + reached.  This was not done before due to problems with recursion,
1275 + and still, it will only continue to 256 times the original -r limit.
1276 + If that isn't enough, then there's probably no hope, anyway.
1277 +
1278 + Added -l option to obj2mesh to search for material files in library
1279 + locations.
1280 +
1281 + Increased polygon vertex limit to 512 in obj2mesh and obj2rad and added
1282 + warning if this limit is exceeded.
1283 +
1284 + Added tone-mapping and monitor primary options to ra_bmp.  This gives
1285 + new functionality similar to normtiff and ximage.  It would be nice to
1286 + add this feature to the other ra_* programs as well...  someday.
1287 +
1288 + Fixed long-standing bug in reported pixel ordering out of certain
1289 + protate commands.
1290 +
1291 + Added -p option to rcalc for "passive mode" that transmits
1292 + unrecognized input -- useful for substituting data in the
1293 + middle of a stream.
1294 +
1295 + Fixed a very obscure bug in rpict that caused a dark horizontal
1296 + line in certain cylindrical projections due to improper drawing
1297 + of the sky dome source in rt/srcdraw.c.
1298 +
1299 + Fixed problems with effective ray lengths computed for dielectric
1300 + and BRTDfunc materials.  This was most evident in breakup of holodeck
1301 + views when VDISTANCE=True.
1302 +
1303 + Fixed rad so that 'scene' variable may consist only of inline commands.
1304 +
1305 + Fixed bug introduced in shadow caching routines where sources in the
1306 + middle of spheres were not illuminating properly.  Thanks to Guilio
1307 + Antonutto for spotting this problem.
1308 +
1309 + Modified gensky behavior so if time is given with standard time zone
1310 + designation, any -m option is ignored.
1311 +
1312 + Added -n option to mkillum for (shared memory) parallel processing.
1313 +
1314 + Fixed a long-standing bug in parallel processing code that only
1315 + seemed to manifest with the new mkillum -n option, where rtrace
1316 + would deadlock upon termination.  The reason it never showed up
1317 + before is because I always closed processes in the reverse order
1318 + of opening them in other programs.  I went through and found similar
1319 + (potential) bugs in the rview device subprocess code and util/netproc.c.
1320 +
1321 + Corrected the normalization of the Gaussian reflectance model.  This will
1322 + cause an increase in specularity for low-lying light sources.
1323 + Thanks to Don Walters of Boeing and Arne Duer of the Univ. of Innsbruck
1324 + for pointing out this error.  The square root used for the two cosines
1325 + in the denominator of the normalization factor should not be present.
1326 + This was a serious mistake I made in the original model, which went
1327 + undiscovered (at least to my knowledge) for over a decade.  I think
1328 + Bruce Walter of Cornell may have known about it, but I never heard
1329 + the details of his discovery.
1330 +
1331 + Enabled the -p option for primary conversion without tone-mapping
1332 + in ra_bmp.  Also provides for XYZE input conversion to RGB.
1333 +
1334 + Fixed what I consider a bug in pvalue -o when taking XYZE files on input,
1335 + where it was inappropriately undoing the exposure value so that it always
1336 + reported radiance rather than XYZ values with Y in cd/m^2.
1337 +
1338 + Made it so ra_bmp only produces run-length encoded 8-bit output for
1339 + grayscale images that are tone-mapped.  This minimizes circumstances
1340 + under which output scanline order is reversed.
1341 +
1342 + Fixed bug in rcalc where it sometimes wasn't parsing the input format
1343 + correctly.
1344 +
1345 + =====================
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
1350 + finding the problem.)
1351 +
1352 + Fixed serious bug in source drawing routines for rpict, where the edges
1353 + of light sources were appearing through obstructions.  (Thanks to Veronica
1354 + Sundstedt for pointing this out.)
1355 +
1356 + (The above were included in the 3.6.1 patch release.)
1357 +
1358 + Changed default temporary directory from /usr/tmp, which doesn't exist
1359 + on a lot of systems these days, to /tmp.
1360 +
1361 + Eliminated many unused files and programs from the distribution, including
1362 + the following programs that were being built but no longer used:
1363 +        oki20   - printer driver for OkiMate 20 printer (B&W)
1364 +        oki20c  - printer driver for OkiMate 20 color printer
1365 +        pcwarp  - intended as more general substitute for macbetcal,
1366 +                        but never quite worked
1367 +        ra_avs  - convert to & from AVS image format
1368 +        ra_bn   - convert to & from Barneyscann format
1369 +        ra_pr   - convert to & from 8-bit Sun rasterfile format
1370 +        ra_pr24 - convert to & from 24-bit Sun rasterfile format
1371 +        thf2rad - convert GDS "things file" to Radiance scene format
1372 + If anyone is still wanting any of the above programs, let us know and we'll
1373 + reinstate it.
1374 +
1375 + Fixed bug in pcond's acuity simulation for small view angles (less than
1376 + 4 degrees horizontally or vertically).  Thanks to James Lee for figuring
1377 + this out.
1378 +
1379 + Added script to convert to/from ICT's Poskanzer Float Map, which I don't
1380 + care to support officially due to its machine-dependent byte order.
1381 +
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 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 +
1389 + Made internal change to tone-mapping library to use structure pointer
1390 + rather than stack, making code re-entrant and more up to modern standards.
1391 +
1392 + Added -pd option to handle depth-of-field blur in rpict.  This requires
1393 + that the view directon (-vd option) include focal distance information,
1394 + which is now preserved by the various view file routines, and reported
1395 + by the vwright command.
1396 +
1397 + Added DBLUR variable to ranimate and pmdblur script to handle simultaneous
1398 + motion and depth-of-field blurring.  Thanks to Visarc for funding this work.
1399 +
1400 + Added setting of focus distance in rvu ("focus" command) and rholo
1401 + ('f'/"frame" command).
1402 +
1403 + Changed default remote shell in ranimate to "ssh" rather than "rsh",
1404 + which has been abandoned on most Unix systems due to security issues.
1405 +
1406 + Fixed behavior of source primitive using illum with no alternate
1407 + material.  These now become transparent so one can see the sky or
1408 + light-probe background for use in image-based lighting.  Previously,
1409 + the user needed to specify the background glow as the alternate
1410 + material for a distant illum source to behave properly.  (This still
1411 + works.)
1412 +
1413 + Fixed some minor problems and inconsistencies with 16-bit/channel
1414 + TIFF i/o in ra_tiff.
1415 +
1416 + Created mksource program to generate distant sources for improved
1417 + image-based lighting with light probes.
1418 +
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).

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines