| 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. | 
| 2778 | + |  | 
| 2779 | + | Wrote new pvsum tool to handle cases dctimestep can't, like | 
| 2780 | + | spectral input pictures.  It also adds a -N option for multi- | 
| 2781 | + | processing on Unix machines, which utilizes memory-mapped | 
| 2782 | + | inputs for efficient i/o sharing. | 
| 2783 | + |  | 
| 2784 | + | Made it so genBSDF can use spectral rendering for a | 
| 2785 | + | more accurate photometric result. |