--- ray/doc/notes/ReleaseNotes 2023/11/27 22:04:45 1.433 +++ ray/doc/notes/ReleaseNotes 2025/05/21 20:42:48 1.489 @@ -2634,5 +2634,189 @@ that made reds into blues and vice versa, which has be Added i/o for spectral pictures to rmtxop, the first program that can ingest them. (Only rtrace, rcontrib, and rfluxmtx can render them.) New symbolic rmtxop -c options, such as RGB, XYZ, S (for scotopic) -and M (for melanopic) make color conversions simpler. -Also added spectral picture support to rcrop and radcompare. +and M (for melanopic) make color conversions simpler. Alternatively, +a reference matrix or picture may be given and the color space of +that file will be used. The -C option takes either a symbolic +color space or reference file and is "sticky," so it applies to +all subsequent input files that do not have their own -c right ahead +of them. + +Added spectral picture support to rcrop and radcompare. + +Added new utility, rcomb, which is something like a combination +of rmtxop and pcomb, it works with all the inputs and +outputs that rmtxop handles, but allows for general expressions +like those in pcomb for putting matrices together, working on +an element at a time. (No resizing of matrices or accessing +neighboring elements, as permitted in pcomb.) It saves memory +over rmtxop by operating on a row at a time, so can handle +input and output matrices with any number of rows. It does +provide for a single matrix-multiplication operation at the end, +which only requires memory for that final matrix. + +Added support for filtering hyperspectral images to pfilt. + +Added support for 1- and 3-component float matrix i/o to +pcomb to allow for better interoperability. + +Added support for -co+ option to rtpict, so it can directly +produce hyperspectral images. + +Added new "specdata" and "specpict" primitives to support +interpolated spectral data files and hyperspectral images +as patterns. + +Added support for multispectal sampling in rsensor, which will +put out as many color channels as specified in any -cs option +(default is 3 for RGB). + +Added ability of mgf2rad to convert spectral data at least +for light, glow, plastic, and metal primitive types. Need +to use new '-s' option to get new output. + +Added handling of spectral images to rcode2bmp script. + +Minor change to rcollate to allow explicit byte records to +be any specified length without checks against header input. + +Added new hemisphere type to rfluxmtx, "h=cie" for CIE sky +scanner positions. These are 145 patches with identical +row counts to Tregenza, but starting from a different +azimuth and reversing row directions at adjacent altitudes. + +Added optimization for long argument lists and arrays in +the calcomp routines used for rendering and in rcalc, etc. + +Added error estimate spreading to ambient super-sampling +algorithm (-as) to improve performance especially in +scenes with sharp cut-offs. + +Added -i option to gendaymtx to match -i option of gendaylit. +Thanks to Yongqing for initial implementation. + +Changed rcrop so negative #rows or #cols counts back from end. + +Added rcomb -n option for multi-processing of very large matrices. + +Made it so rsplit and rlam can handle any number of input files +up to active open file descriptor limit. + +Taoning Wang added genssky tool for generating spectral sky +descriptions. + +Taoning added gensdaymtx utility based on gendaymtx, and +added epw2wea -a option to include required information. + +Fixed bug introduced in Auguest 2022 (5.4 release) in distant +light source sampling, which caused aiming failures. (Thanks +to Mike DiPompeo of LightStanza for reporting the issue.) + +Added rxpict rendering tool based on C++ RpictSimulManager class. +Multi-processing and spectral output are supported. + +Wrote rxpiece tool that will render pictures using tiling and +can handle different output formats and hyperspectral pictures. +Only runs on a single machine, however -- no NFS locking on +shared volumes. Mainly a demonstration tool for RpictSimulManager +C++ class, but may have its uses. + +Fixed a bug in BSDF sampling of sources pointed out by +David Geisler-Moroder, which tended to overestimate specular +contributions for some BSDFs. + +Added crude ability to read and convert spectra to RGB in ximage, +ra_bmp, ra_ps, and ra_rgbe programs. Also updated fast tone-mapping +library to handle spectral HSR inputs at the same time. HSR +input handling was added in a similar fashion to pcond and pvalue +for convenience. + +Added handling of hyperspectral images to normtiff, a handy program +for quickly tone-mapping Radiance RGBE, XYZE, and now hyperspectral +pictures, as well as IEEE float or LogLuv TIFFs. + +Added handling of hyperspectral pictures to pextrem, though +results are still reported in RGB. + +Added accurate conversion of hyperspectral pictures to ra_xyze. + +Added hyperspectral picture conversion to ra_tiff, with accurate +color when targeting 16-bit/comp., LogLuv, and float utput, +and the approximate method for 24-bit RGB. + +Taoning added genssky -L option to specify global and diffuse +illuminance values for output calibration. + +Created C++ class for rcontrib and example tool rxcontrib, which +is an optional compile in the src/rt directory. The output +model is more general in some respects and the operations more +efficient, but standard output is not supported, nor is ASCII +results data. + +Added strnstr.c compatibility module in ray/src/common, since +it isn't present on Linux derivatives. + +Added WGMDfunc material type with programmable roughness and +separate modifier paths for the different components. + +Added gensurf -i option at the request of Peter Apian-Bennewitz +to reverse surface normals, mostly for data input, when it is +a bit more difficult to adjust. + +Added rad -N option to rholo call for multiprocessing when +mkillum and/or mkpmap are involved in octree prep. + +Added ability of gendaymtx to read EPW as well as WEA files. +When EPW input is provided, the 3-hour average dew point is +used to compute a more accurate precipitable water content +value. It currently does not use these data directly from +the EPW input, relying instead on a dew-point-to-W calculation. +This follows the request and recommendations of David G-M. + +Removed limitation in rfluxmtx, which was disallowing distant +and local receivers. Found this to be a perfectly valid approach +for some annual daylighting scenarios. + +Wrote new pvsum tool to handle cases dctimestep can't, like +spectral input pictures. It also adds a -N option for multi- +processing on Unix machines, which utilizes memory-mapped +inputs for efficient i/o sharing. + +Made it so genBSDF can use spectral rendering for a +more accurate photometric result. + +Changed default matrix representation to float rather than +double, which uses less RAM and supports faster operations +in general. Build with compiler flag: + -DDTnativeDTrmx_native=DTdouble +to get back higher precision representation. + +Taoning Wang updated genssky and gensdaymtx to provide illuminance +calibration and accept EPW files directly as input. + +Added -e expr and -f file.cal options to all rendering tools, not +just rcontrib/rxcontrib. Feature request from Peter A-B. + +Fixed slight bias in indirect calculation caused by ambient +collision detection, pointed out by Jon Sargent. New code +keeps track of rejected samples and sells them back to +later calls to get something closer to a true Poisson +sampling method. + +Altered rvu "origin" command to take shift amounts forward, +right, and up rather than taking an explicit origin, which +can be done easily enough with the "view" command. Peter A-B +requested (sort of). + +Added genglaze tool created by Taoning Wang to generate +spectral glazing materials based on CGDB data and models. + +Fixed bug that caused inf and nan errors with -cw setting +where longer wavelength was substantially less than limits +of specified spectra. + +Created bsdfpeaks utility to identify and report full-width, +half-maximum sizes of peaks in SIR and XML inputs. + +Changed default super-sampling in bsdf2ttree from 256 to 64, +since there doesn't seem to be much benefit to the higher +sampling rate for most BSDFs.