| 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 -- now 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 experimental source-skipping method to rpict for scenes |
| 2756 |
+ |
with large number of light sources. Currently works with |
| 2757 |
+ |
rcontrib and separate srcsamp image-processing tool. Controlling |
| 2758 |
+ |
rpict options are -dS for skip bitmap specification and -dC |
| 2759 |
+ |
for correction coefficient image. Compile using -DSSKIPOPT |
| 2760 |
+ |
to include this option. |
| 2761 |
+ |
|
| 2762 |
+ |
Added strnstr.c compatibility module in ray/src/common, since |
| 2763 |
+ |
it isn't present on Linux-derivatives. |
| 2764 |
+ |
|
| 2765 |
+ |
Added WGMDfunc material type with programmable roughness and |
| 2766 |
+ |
separate modifier paths for the different components. |
| 2767 |
+ |
|
| 2768 |
+ |
Added gensurf -i option at the request of Peter Apian-Bennewitz |
| 2769 |
+ |
to reverse surface normals, mostly for data input when it is |
| 2770 |
+ |
a bit more difficult to adjust. |
| 2771 |
+ |
|
| 2772 |
+ |
Simplified synchronization between processes sharing indirect |
| 2773 |
+ |
irradiance values via an ambient file. Removed file locking |
| 2774 |
+ |
operations in favor of simpler operation relying on O_APPEND flag. |
| 2775 |
+ |
Not sure if this will have any affect on shared filesystems, but |
| 2776 |
+ |
it should reduce overhead for massively parallel machines. |
| 2777 |
+ |
|
| 2778 |
+ |
Added rad -N option to rholo run for multiprocessing when |
| 2779 |
+ |
mkillum and/or mkpmap are involved in octree prep. |