2387 |
|
|
2388 |
|
Added rcollate -c option to force operation to continue even if it |
2389 |
|
seems unnecessary. Made tool more robust. |
2390 |
+ |
|
2391 |
+ |
Added -t option to rcontrib (and rfluxmtx) to report progress after the |
2392 |
+ |
given number of seconds. |
2393 |
+ |
|
2394 |
+ |
Added "test" target to makeall to run unit tests. |
2395 |
+ |
|
2396 |
+ |
Modified bsdf2ttree to allow different parameters per input SIR file. |
2397 |
+ |
|
2398 |
+ |
Fixed issues with very large matrix files (> 2GB) in dctimestep, rmtxop, |
2399 |
+ |
and rcollate. |
2400 |
+ |
|
2401 |
+ |
Added -rf and -rb options to rmtxop to load front or back reflectance |
2402 |
+ |
matrix data from XML file rather than transmission. (Lars Grobe suggested.) |
2403 |
+ |
|
2404 |
+ |
Improved behavior for coincident surfaces with different materials. |
2405 |
+ |
Rather than returning one surface or the other based on floating-point |
2406 |
+ |
vagaries, opaque materials are now preferred over transparent ones. |
2407 |
+ |
If the materials are both transparent or both opaque, then whichever |
2408 |
+ |
surface appeared later in the scene description will be selected. |
2409 |
+ |
This came of a request for consistent behavior with legal CAD output |
2410 |
+ |
from Peter Apian-Bennewitz. |
2411 |
+ |
|
2412 |
+ |
Added explicit tests for on-edge intersections with polygons. This should |
2413 |
+ |
eliminate stray rays and tiny light leaks that often appear even in |
2414 |
+ |
well-constructed geometry. |
2415 |
+ |
|
2416 |
+ |
Added "-s up" option to pabopto2bsdf to allow for 180 degree symmetry, |
2417 |
+ |
meaning that data repeats after 180 degree rotation (as distinguished |
2418 |
+ |
from "-s bilateral" whose data is mirrored about a vertical plane). |
2419 |
+ |
Thanks to Helen Rose Wilson for the suggestion and informing me that |
2420 |
+ |
such a thing exists. |
2421 |
+ |
|
2422 |
+ |
Removed upper limit on number of modifiers in rcontrib. |
2423 |
+ |
|
2424 |
+ |
Put cap on maximum ambient gradient to avoid over-extrapolation of |
2425 |
+ |
poorly computed irradiance cache values. |
2426 |
+ |
|
2427 |
+ |
Added robjutil +T option to triangulate all faces in .OBJ description. |
2428 |
+ |
|
2429 |
+ |
Altered BSDF library to have both front and back diffuse transmittance |
2430 |
+ |
values, which can be different. This was necessary to avoid issues |
2431 |
+ |
caused by measurement and modeling discrepancies. |
2432 |
+ |
|
2433 |
+ |
Added pabopto2bsdf -g option to cull near-grazing scattering to avoid |
2434 |
+ |
issues with noise and negative values. |
2435 |
+ |
|
2436 |
+ |
Increased default dynamic range from 32 to 100 in pcond and normtiff. |
2437 |
+ |
|
2438 |
+ |
Added -o and -n options to genbox to create .OBJ output and segment |
2439 |
+ |
edges and corners for transparent materials. Also added -s option |
2440 |
+ |
to control smoothing for .OBJ and Radiance with segmented rounding. |
2441 |
+ |
|
2442 |
+ |
Made it so robjutil with the +r option for Radiance output now |
2443 |
+ |
produces normal smoothing unless normals are removed with -n. |
2444 |
+ |
|
2445 |
+ |
Added exposure preservation to pcompos when possible (i.e., when |
2446 |
+ |
there is only one input or inputs agree on exposure). |
2447 |
+ |
|
2448 |
+ |
Added -DSHARP_RGB compile-time option to use sharp RGB color space |
2449 |
+ |
rather than historic default. This can make for more accurate color |
2450 |
+ |
calculations, but requires that materials be recalibrated. The |
2451 |
+ |
PRIMARIES= line is also produced on output from rpict or rvu with |
2452 |
+ |
the correct set of primaries based on how the system was compiled. |
2453 |
+ |
|
2454 |
+ |
Added automatic flushing to the output of total, except when the -r |
2455 |
+ |
(running subtotals) option is used. |
2456 |
+ |
|
2457 |
+ |
Improved behavior of little-used -aw option, so that it avoids sea-level |
2458 |
+ |
rise caused by adding its own estimate back into the ambient level remainder. |
2459 |
+ |
It ended up being simple enough to derate the final average by the factor |
2460 |
+ |
corresponding to average surface absorpition, thus removing the average |
2461 |
+ |
from the final bounce estimate. |
2462 |
+ |
|
2463 |
+ |
Introduced ies2rad upgrades by Randolph Fritz. Randolph says it |
2464 |
+ |
fixes the following problems: |
2465 |
+ |
|
2466 |
+ |
1. Generates correct Radiance geometry for spheres in 1995, 2002, |
2467 |
+ |
and 2019 IES files. |
2468 |
+ |
|
2469 |
+ |
2. Generates correct Radiance geometry for vertical cylinders that |
2470 |
+ |
are taller than they are wide. |
2471 |
+ |
|
2472 |
+ |
3. Ignores the file source ("File Generation Type") field in the |
2473 |
+ |
2019 version of the file, which would otherwise be incorrectly used |
2474 |
+ |
as an output multiplier. |
2475 |
+ |
|
2476 |
+ |
It also offers the following enhancements: |
2477 |
+ |
|
2478 |
+ |
1. Shape information is included in the .rad file comments. |
2479 |
+ |
|
2480 |
+ |
2. 1995, 2002, and 2019-version luminous opening geometry is |
2481 |
+ |
accounted for. |
2482 |
+ |
|
2483 |
+ |
3. The 2002 and 2019 IES file versions are recognized and |
2484 |
+ |
processed appropriately. |
2485 |
+ |
|
2486 |
+ |
4. I have made an attempt to do something intelligent with less |
2487 |
+ |
common "luminous opening" shapes in the 1995, 2002, and 2019 versions |
2488 |
+ |
of the standard, though I have not implemented any support for new |
2489 |
+ |
geometry; approximations are substituted and warning messages issued. |
2490 |
+ |
Unfortunately, this code is not tested, since I don't have any IES |
2491 |
+ |
files that use these shapes. |
2492 |
+ |
|
2493 |
+ |
Added support for depth-of-field blurring in vwrays using -pd option. |
2494 |
+ |
Also, made -c count work with vwrays -i, producing multiple samples |
2495 |
+ |
per indicated pixel position. At the same time, support for the -pd |
2496 |
+ |
option was added to rtpict, which calls on vwrays for its samples. |
2497 |
+ |
|
2498 |
+ |
Fixed issue with BSDFs that didn't obey reciprocity, where direct |
2499 |
+ |
sampling wasn't following exactly with indirect sampling. This was |
2500 |
+ |
discovered and reported by Jon Sargent. |
2501 |
+ |
|
2502 |
+ |
Created checkBSDF tool to test XML BSDF reciprocity and perform similar |
2503 |
+ |
sanity checks. |
2504 |
+ |
|
2505 |
+ |
Added -O option to pvalue and pextrem to report watts/sr/m^2 even if |
2506 |
+ |
picture is XYZE. |
2507 |
+ |
|
2508 |
+ |
Made subtle changes to header i/o routines to preserve alignment in |
2509 |
+ |
binary file formats to enable memory-mapping. Implemented memory-mapped |
2510 |
+ |
matrix loading in rmtxop for binary double files. |
2511 |
+ |
|
2512 |
+ |
Removed ambient value sorting, which was written when ambient caches |
2513 |
+ |
could overwhelm available memory. This is rarely the case these days, |
2514 |
+ |
and the added code complexity and updating of cache values with LRU |
2515 |
+ |
counts dirties pages that would otherwise remain clean, so it was |
2516 |
+ |
often a loss even when VM was an issue. |
2517 |
+ |
|
2518 |
+ |
Added iso2klems script to compute a Klems BSDF based on specular |
2519 |
+ |
and diffuse measurements as a function of incident angle. |
2520 |
+ |
|
2521 |
+ |
Fixed issue with over-counting diffuse component during aBSDF |
2522 |
+ |
peak extraction. |
2523 |
+ |
|
2524 |
+ |
Added dctimestep -x and -y options to specify image dimensions |
2525 |
+ |
for multiple outputs corresponding to result vectors. |
2526 |
+ |
|
2527 |
+ |
Added -P option to rcalc to pass formatted input when cond is <= 0. |
2528 |
+ |
|
2529 |
+ |
Created rcrop utility for cropping matrices and pictures more |
2530 |
+ |
conveniently, correcting view information. Expect it to be handy |
2531 |
+ |
for extracting rows and columns from matrices, mostly. |
2532 |
+ |
|
2533 |
+ |
Changed pcomb so -o option elides original exposure values |
2534 |
+ |
from indented source headers. |
2535 |
+ |
|
2536 |
+ |
Added getinfo -r option, which is similar to -a except it will |
2537 |
+ |
replace indicated lines with new ones. |
2538 |
+ |
|
2539 |
+ |
Slight change to vwrays -d option to not spit out "-ld-", and to |
2540 |
+ |
produce "-ld+" without requiring input picture as argument. |
2541 |
+ |
|
2542 |
+ |
Added automatic overture calculation to rtpict with -n > 1 if |
2543 |
+ |
ambient cache is on and file is named. If straight image output |
2544 |
+ |
is requested, we randomize all samples and avoid cache collisions. |
2545 |
+ |
|
2546 |
+ |
Added cnt -s option to shuffle output. |
2547 |
+ |
|
2548 |
+ |
Fixed issue with divide-by-zero errors in the ambient super-sampling |
2549 |
+ |
routine discovered by Jon Sargent of Solemma. This affected regions |
2550 |
+ |
that had zero radiance, such as black backgrounds or unlit areas |
2551 |
+ |
with -av 0 0 0, when super-sampling was effectively disabled, causing |
2552 |
+ |
some loss in accuracy of the results. |
2553 |
+ |
|
2554 |
+ |
Updated Klems Half- and Quarter-bases to match angles currently used |
2555 |
+ |
in WINDOW. |
2556 |
+ |
|
2557 |
+ |
Eliminated most aiming failures for triangular light sources, at the |
2558 |
+ |
expense of conservative sampling near the centroid. Thanks to |
2559 |
+ |
David Geisler-Moroder for his help on this. |
2560 |
+ |
|
2561 |
+ |
Increased maximum set size to 8191 to avoid set overflow errors. |
2562 |
+ |
|
2563 |
+ |
Added source obstruction test to statistics being kept on which |
2564 |
+ |
sources were visible in adaptive shadow testing code. Previous |
2565 |
+ |
behavior was likely over-estimating source contributions. |
2566 |
+ |
|
2567 |
+ |
Added diffuse components into maximum directional hemispherical |
2568 |
+ |
reported by checkBSDF, so comparing to 100% is easier for each |
2569 |
+ |
component. |
2570 |
+ |
|
2571 |
+ |
Fixed incorrect calculations in iso2klems script, thanks to |
2572 |
+ |
help from Jacob Jonnson. |
2573 |
+ |
|
2574 |
+ |
Updated official copyright and license according to new wording |
2575 |
+ |
provided by Jean Haemmerle at the LBNL Intellectual Property Office. |
2576 |
+ |
Both were copied verbatim from e-mail I received from Taoning Wang |
2577 |
+ |
on 8/20/2022. |
2578 |
+ |
|
2579 |
+ |
Added -features option to rpict, rtrace, and rcontrib to check |
2580 |
+ |
which features are present or look for specific feature support. |
2581 |
+ |
This addition was suggested by Peter Apian-Bennewitz as an easier |
2582 |
+ |
way to determine which version of Radiance is installed and what |
2583 |
+ |
it supports, and is timely as we begin our refactoring of the |
2584 |
+ |
rendering code. There are no current plans to add this to rvu. |
2585 |
+ |
|
2586 |
+ |
Added falsecolor -odim, -orct, and -c0 options to overlay grid of |
2587 |
+ |
values on image. This was requested by Rob Shakespeare. |
2588 |
+ |
|
2589 |
+ |
Added -i* and -o* options in rhcopy for reading rays from the |
2590 |
+ |
standard input and writing rays from holodeck to standard output. |
2591 |
+ |
This will hopefully be useful in combining rholo with rcontrib. |
2592 |
+ |
|
2593 |
+ |
Added further checking for coincident (overlapping) flat surfaces, |
2594 |
+ |
preferring front sides to back sides in the ray intersection |
2595 |
+ |
calculation. This only applies to rings and faces, as the other |
2596 |
+ |
surface types would have required additional calculations to |
2597 |
+ |
make them work. Material transparency is still the primary |
2598 |
+ |
consideration, now followed by ray hit side, followed by |
2599 |
+ |
modifier definition order in the input. |
2600 |
+ |
|
2601 |
+ |
Increased octree and object limits to allow scenes with billions |
2602 |
+ |
of primitives. |
2603 |
+ |
|
2604 |
+ |
Made reciprocity averaging default to "off" in bsdf2ttree, as it seems |
2605 |
+ |
to create more problems than it solves. |
2606 |
+ |
|
2607 |
+ |
==================== |
2608 |
+ |
Version 6.0 |
2609 |
+ |
|
2610 |
+ |
Extensive changes to enable spectral rendering, which defaults to "off" |
2611 |
+ |
to maintain backwards-compatibility with previous versions, with the |
2612 |
+ |
exception of the ambient file format, which is changed. The MAXCSAMP |
2613 |
+ |
macro, which defaults to 24, sets the maximum number of spectral samples. |
2614 |
+ |
The actual number of samples is set by the "-cs" option, which defaults |
2615 |
+ |
to 3 for rpict, rtrace, and rcontrib. The latter two programs support |
2616 |
+ |
straight spectral output, but rpict is initially restricted to |
2617 |
+ |
tristimulus output pictures. New pattern primitives "spectrum", |
2618 |
+ |
"specfile", and "specfunc" have been added as a means to specify |
2619 |
+ |
spectral reflectance, emittance, etc. to materials that still have |
2620 |
+ |
only 3 color channels. Those RGB channels will still affect the |
2621 |
+ |
spectrum if used. Unfortunately photon-mapping is currently broken when |
2622 |
+ |
spectral sampling is enabled, but we will fix this as soon as possible. |
2623 |
+ |
Calculation overhead appears to be approximately 10-15% for RGB |
2624 |
+ |
renderings compared to version 5.4a. |
2625 |
+ |
|
2626 |
+ |
Added spectral rendering to rvu as well, and made -cs and -cw |
2627 |
+ |
options standard across the rendering library. I also brought |
2628 |
+ |
mkillum, ranimove, rsensor, and mksource into the fold. These |
2629 |
+ |
tools were broken in the initial release. (Hopefully, they are |
2630 |
+ |
working now, but none have been tested as yet.) |
2631 |
+ |
There was also an indexing bug in the spectral->RGB conversions |
2632 |
+ |
that made reds into blues and vice versa, which has been fixed. |
2633 |
+ |
|
2634 |
+ |
Added i/o for spectral pictures to rmtxop, the first program that can |
2635 |
+ |
ingest them. (Only rtrace, rcontrib, and rfluxmtx can render them.) |
2636 |
+ |
New symbolic rmtxop -c options, such as RGB, XYZ, S (for scotopic) |
2637 |
+ |
and M (for melanopic) make color conversions simpler. Alternatively, |
2638 |
+ |
a reference matrix or picture may be given and the color space of |
2639 |
+ |
that file will be used. The -C option takes either a symbolic |
2640 |
+ |
color space or reference file and is "sticky," so it applies to |
2641 |
+ |
all subsequent input files that do not have their own -c right ahead |
2642 |
+ |
of them. |
2643 |
+ |
|
2644 |
+ |
Added spectral picture support to rcrop and radcompare. |
2645 |
+ |
|
2646 |
+ |
Added new utility, rcomb, which is 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. |
2659 |
+ |
|
2660 |
+ |
Added support for 1- and 3-component float matrix i/o to |
2661 |
+ |
pcomb to allow for better interoperability. |
2662 |
+ |
|
2663 |
+ |
Added support for -co+ option to rtpict, so it can directly |
2664 |
+ |
produce hyperspectral images. |
2665 |
+ |
|
2666 |
+ |
Added new "specdata" and "specpict" primitives to support |
2667 |
+ |
interpolated spectral data files and hyperspectral images |
2668 |
+ |
as patterns. |
2669 |
+ |
|
2670 |
+ |
Added support for multispectal sampling in rsensor, which will |
2671 |
+ |
put out as many color channels as specified in any -cs option |
2672 |
+ |
(default is 3 for RGB). |