--- ray/doc/notes/ReleaseNotes 2022/03/07 17:55:09 1.403 +++ ray/doc/notes/ReleaseNotes 2024/12/03 01:11:42 1.470 @@ -2514,3 +2514,250 @@ could overwhelm available memory. This is rarely the and the added code complexity and updating of cache values with LRU counts dirties pages that would otherwise remain clean, so it was often a loss even when VM was an issue. + +Added iso2klems script to compute a Klems BSDF based on specular +and diffuse measurements as a function of incident angle. + +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.