--- ray/doc/notes/ReleaseNotes 2022/03/08 22:27:56 1.405 +++ ray/doc/notes/ReleaseNotes 2024/12/03 01:11:42 1.470 @@ -2520,3 +2520,244 @@ and diffuse measurements as a function of incident ang Fixed issue with over-counting diffuse component during aBSDF peak extraction. + +Added dctimestep -x and -y options to specify image dimensions +for multiple outputs corresponding to result vectors. + +Added -P option to rcalc to pass formatted input when cond is <= 0. + +Created rcrop utility for cropping matrices and pictures more +conveniently, correcting view information. Expect it to be handy +for extracting rows and columns from matrices, mostly. + +Changed pcomb so -o option elides original exposure values +from indented source headers. + +Added getinfo -r option, which is similar to -a except it will +replace indicated lines with new ones. + +Slight change to vwrays -d option to not spit out "-ld-", and to +produce "-ld+" without requiring input picture as argument. + +Added automatic overture calculation to rtpict with -n > 1 if +ambient cache is on and file is named. If straight image output +is requested, we randomize all samples and avoid cache collisions. + +Added cnt -s option to shuffle output. + +Fixed issue with divide-by-zero errors in the ambient super-sampling +routine discovered by Jon Sargent of Solemma. This affected regions +that had zero radiance, such as black backgrounds or unlit areas +with -av 0 0 0, when super-sampling was effectively disabled, causing +some loss in accuracy of the results. + +Updated Klems Half- and Quarter-bases to match angles currently used +in WINDOW. + +Eliminated most aiming failures for triangular light sources, at the +expense of conservative sampling near the centroid. Thanks to +David Geisler-Moroder for his help on this. + +Increased maximum set size to 8191 to avoid set overflow errors. + +Added source obstruction test to statistics being kept on which +sources were visible in adaptive shadow testing code. Previous +behavior was likely over-estimating source contributions. + +Added diffuse components into maximum directional hemispherical +reported by checkBSDF, so comparing to 100% is easier for each +component. + +Fixed incorrect calculations in iso2klems script, thanks to +help from Jacob Jonnson. + +Updated official copyright and license according to new wording +provided by Jean Haemmerle at the LBNL Intellectual Property Office. +Both were copied verbatim from e-mail I received from Taoning Wang +on 8/20/2022. + +Added -features option to rpict, rtrace, and rcontrib to check +which features are present or look for specific feature support. +This addition was suggested by Peter Apian-Bennewitz as an easier +way to determine which version of Radiance is installed and what +it supports, and is timely as we begin our refactoring of the +rendering code. There are no current plans to add this to rvu. + +Added falsecolor -odim, -orct, and -c0 options to overlay grid of +values on image. This was requested by Rob Shakespeare. + +Added -i* and -o* options in rhcopy for reading rays from the +standard input and writing rays from holodeck to standard output. +This will hopefully be useful in combining rholo with rcontrib. + +Added further checking for coincident (overlapping) flat surfaces, +preferring front sides to back sides in the ray intersection +calculation. This only applies to rings and faces, as the other +surface types would have required additional calculations to +make them work. Material transparency is still the primary +consideration, now followed by ray hit side, followed by +modifier definition order in the input. + +Increased octree and object limits to allow scenes with billions +of primitives. + +Made reciprocity averaging default to "off" in bsdf2ttree, as it seems +to create more problems than it solves. + +==================== +Version 6.0 + +Extensive changes to enable spectral rendering, which defaults to "off" +to maintain backwards-compatibility with previous versions, with the +exception of the ambient file format, which is changed. The MAXCSAMP +macro, which defaults to 24, sets the maximum number of spectral samples. +The actual number of samples is set by the "-cs" option, which defaults +to 3 for rpict, rtrace, and rcontrib. The latter two programs support +straight spectral output, but rpict is initially restricted to +tristimulus output pictures. New pattern primitives "spectrum", +"specfile", and "specfunc" have been added as a means to specify +spectral reflectance, emittance, etc. to materials that still have +only 3 color channels. Those RGB channels will still affect the +spectrum if used. Unfortunately photon-mapping is currently broken when +spectral sampling is enabled, but we will fix this as soon as possible. +Calculation overhead appears to be approximately 10-15% for RGB +renderings compared to version 5.4a. + +Added spectral rendering to rvu as well, and made -cs and -cw +options standard across the rendering library. I also brought +mkillum, ranimove, rsensor, and mksource into the fold. These +tools were broken in the initial release. (Hopefully, they are +working now, but none have been tested as yet.) +There was also an indexing bug in the spectral->RGB conversions +that made reds into blues and vice versa, which has been fixed. + +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. 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 -- now 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 experimental source-skipping method to rpict for scenes +with large number of light sources. Currently works with +rcontrib and separate srcsamp image-processing tool. Controlling +rpict options are -dS for skip bitmap specification and -dC +for correction coefficient image. Compile using -DSSKIPOPT +to include this option. + +Added strnstr.c compatibility module in ray/src/common, since +it isn't present on Linux-derivatives.