| 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. |