| 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" that is mirrored about a vertical plane). Thanks |
| 2419 |
< |
to Helen Rose for the suggestion and informing me that such a thing exists. |
| 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. Need |
| 2675 |
> |
to use new '-s' option to get new output. |
| 2676 |
> |
|
| 2677 |
> |
Added handling of spectral images to rcode2bmp script. |
| 2678 |
> |
|
| 2679 |
> |
Minor change to rcollate to allow explicit byte records to |
| 2680 |
> |
be any specified length without checks against header input. |
| 2681 |
> |
|
| 2682 |
> |
Added new hemisphere type to rfluxmtx, "h=cie" for CIE sky |
| 2683 |
> |
scanner positions. These are 145 patches with identical |
| 2684 |
> |
row counts to Tregenza, but starting from a different |
| 2685 |
> |
azimuth and reversing row directions at adjacent altitudes. |
| 2686 |
> |
|
| 2687 |
> |
Added optimization for long argument lists and arrays in |
| 2688 |
> |
the calcomp routines used for rendering and in rcalc, etc. |
| 2689 |
> |
|
| 2690 |
> |
Added error estimate spreading to ambient super-sampling |
| 2691 |
> |
algorithm (-as) to improve performance especially in |
| 2692 |
> |
scenes with sharp cut-offs. |
| 2693 |
> |
|
| 2694 |
> |
Added -i option to gendaymtx to match -i option of gendaylit. |
| 2695 |
> |
Thanks to Yongqing for initial implementation. |
| 2696 |
> |
|
| 2697 |
> |
Changed rcrop so negative #rows or #cols counts back from end. |
| 2698 |
> |
|
| 2699 |
> |
Added rcomb -n option for multi-processing of very large matrices. |
| 2700 |
> |
|
| 2701 |
> |
Made it so rsplit and rlam can handle any number of input files |
| 2702 |
> |
up to active open file descriptor limit. |
| 2703 |
> |
|
| 2704 |
> |
Taoning Wang added genssky tool for generating spectral sky |
| 2705 |
> |
descriptions. |
| 2706 |
> |
|
| 2707 |
> |
Taoning added gensdaymtx utility based on gendaymtx, and |
| 2708 |
> |
added epw2wea -a option to include required information. |
| 2709 |
> |
|
| 2710 |
> |
Fixed bug introduced in Auguest 2022 (5.4 release) in distant |
| 2711 |
> |
light source sampling, which caused aiming failures. (Thanks |
| 2712 |
> |
to Mike DiPompeo of LightStanza for reporting the issue.) |
| 2713 |
> |
|
| 2714 |
> |
Added rxpict rendering tool based on C++ RpictSimulManager class. |
| 2715 |
> |
Multi-processing and spectral output are supported. |
| 2716 |
> |
|
| 2717 |
> |
Wrote rxpiece tool that will render pictures using tiling and |
| 2718 |
> |
can handle different output formats and hyperspectral pictures. |
| 2719 |
> |
Only runs on a single machine, however -- no NFS locking on |
| 2720 |
> |
shared volumes. Mainly a demonstration tool for RpictSimulManager |
| 2721 |
> |
C++ class, but may have its uses. |
| 2722 |
> |
|
| 2723 |
> |
Fixed a bug in BSDF sampling of sources pointed out by |
| 2724 |
> |
David Geisler-Moroder, which tended to overestimate specular |
| 2725 |
> |
contributions for some BSDFs. |
| 2726 |
> |
|
| 2727 |
> |
Added crude ability to read and convert spectra to RGB in ximage, |
| 2728 |
> |
ra_bmp, ra_ps, and ra_rgbe programs. Also updated fast tone-mapping |
| 2729 |
> |
library to handle spectral HSR inputs at the same time. HSR |
| 2730 |
> |
input handling was added in a similar fashion to pcond and pvalue |
| 2731 |
> |
for convenience. |
| 2732 |
> |
|
| 2733 |
> |
Added handling of hyperspectral images to normtiff, a handy program |
| 2734 |
> |
for quickly tone-mapping Radiance RGBE, XYZE, and now hyperspectral |
| 2735 |
> |
pictures, as well as IEEE float or LogLuv TIFFs. |
| 2736 |
> |
|
| 2737 |
> |
Added handling of hyperspectral pictures to pextrem, though |
| 2738 |
> |
results are still reported in RGB. |
| 2739 |
> |
|
| 2740 |
> |
Added accurate conversion of hyperspectral pictures to ra_xyze. |
| 2741 |
> |
|
| 2742 |
> |
Added hyperspectral picture conversion to ra_tiff, with accurate |
| 2743 |
> |
color when targeting 16-bit/comp., LogLuv, and float utput, |
| 2744 |
> |
and the approximate method for 24-bit RGB. |
| 2745 |
> |
|
| 2746 |
> |
Taoning added genssky -L option to specify global and diffuse |
| 2747 |
> |
illuminance values for output calibration. |
| 2748 |
> |
|
| 2749 |
> |
Created C++ class for rcontrib and example tool rxcontrib, which |
| 2750 |
> |
is an optional compile in the src/rt directory. The output |
| 2751 |
> |
model is more general in some respects and the operations more |
| 2752 |
> |
efficient, but standard output is not supported, nor is ASCII |
| 2753 |
> |
results data. |
| 2754 |
> |
|
| 2755 |
> |
Added strnstr.c compatibility module in ray/src/common, since |
| 2756 |
> |
it isn't present on Linux derivatives. |
| 2757 |
> |
|
| 2758 |
> |
Added WGMDfunc material type with programmable roughness and |
| 2759 |
> |
separate modifier paths for the different components. |
| 2760 |
> |
|
| 2761 |
> |
Added gensurf -i option at the request of Peter Apian-Bennewitz |
| 2762 |
> |
to reverse surface normals, mostly for data input, when it is |
| 2763 |
> |
a bit more difficult to adjust. |
| 2764 |
> |
|
| 2765 |
> |
Added rad -N option to rholo call for multiprocessing when |
| 2766 |
> |
mkillum and/or mkpmap are involved in octree prep. |
| 2767 |
> |
|
| 2768 |
> |
Added ability of gendaymtx to read EPW as well as WEA files. |
| 2769 |
> |
When EPW input is provided, the 3-hour average dew point is |
| 2770 |
> |
used to compute a more accurate precipitable water content |
| 2771 |
> |
value. It currently does not use these data directly from |
| 2772 |
> |
the EPW input, relying instead on a dew-point-to-W calculation. |
| 2773 |
> |
This follows the request and recommendations of David G-M. |
| 2774 |
> |
|
| 2775 |
> |
Removed limitation in rfluxmtx, which was disallowing distant |
| 2776 |
> |
and local receivers. Found this to be a perfectly valid approach |
| 2777 |
> |
for some annual daylighting scenarios. |