| 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, rmtxcomb, which is hard to type and hard to | 
| 2647 | 
+ | 
pronounce, and probably equally difficult to use.  Sort of a | 
| 2648 | 
+ | 
combination of rmtxop and pcomb, it works with all the inputs and | 
| 2649 | 
+ | 
outputs that rmtxop handles, but allows for general expressions | 
| 2650 | 
+ | 
like those in pcomb for putting matrices together, working on | 
| 2651 | 
+ | 
an element at a time.  (No resizing of matrices or accessing | 
| 2652 | 
+ | 
neighboring elements, as permitted in pcomb.)  It saves memory | 
| 2653 | 
+ | 
over rmtxop by operating on a row at a time, so can handle | 
| 2654 | 
+ | 
input and output matrices with any number of rows.  It does | 
| 2655 | 
+ | 
provide for a single matrix-multiplication operation at the end, | 
| 2656 | 
+ | 
which only requires memory for that final matrix. | 
| 2657 | 
+ | 
 | 
| 2658 | 
+ | 
Added support for filtering hyperspectral images to pfilt. |