--- ray/doc/notes/ReleaseNotes 2018/06/26 14:42:18 1.322 +++ ray/doc/notes/ReleaseNotes 2022/04/11 18:08:19 1.414 @@ -2157,7 +2157,7 @@ Added bsdfview tool analogous to objview but for BSDF which calls bsdf2rad then rad with a few useful default views. ========================= -Version 5.2 +Version 5.2 (Release October 8, 2018) Created psketch program to apply non-photorealistic rendering to selected objects, identified by modifier name(s). @@ -2226,3 +2226,321 @@ Its arguments are the same as the original "BSDF" type thickness parameter, as proxy geometry is not supported by this new type. The old "BSDF" type no longer does peak extraction under any circumstances, since this behavior is superfluous for proxied geometry. + +Added -r option to bsdf2rad (and bsdfview) to fix BSDF min and max range +for comparing BSDFs. + +Fixed issue with pfilt -m option and uneven image size changes pointed +out by Rob Shakespeare. + +Updates to evalglare and gendaylit from Jan Wienold, including new +colored sky option. + +========================= +Version 5.3 (Released September 1, 2020) + +Created radcompare program to compare Radiance tool output to reference outputs +during unit-testing. + +Fixed issue reading very large files (> 2 GBytes) in rcollate. + +Made picking function in rvu ignore transparent and void surfaces. + +Added -orRxX options to rtrace to enable output of mirrored and unmirrored +contributions and distances to enable new types of reprojections. This also +cleaned up and unified handling of effective ray lengths throughout code. + +Bug fixes from Jan Wienold for evalglare. + +Changed indexed (numbered) output from dctimestep to start from 0 rather +than 1, to make it more consistent with expected input naming. + +Increased default sampling in bsdf2klems (-n option) to 1024. + +Fixed an issue noticed by David G-M that was causing genBSDF to bias +isotropic tensor tree samples resulting in subsequent failure of +peak extraction with "aBSDF" type. + +Introduced max() and min() functions to .cal library. + +Added random incident patch sampling to bsdf2klems to improve accuracy +with scattering interpolation representation input (e.g., from +pabopto2bsdf). The other input types already sampled incident patch area. + +Added gendaymtx -A option to compute average sky over all the input +time steps. + +Added ability to output color image from rtrace with any of -ovrx options. +Also fixed inconsistency of -oN output when ray casting versus full trace. +Before, it would flip normal to front side unless ray casting. Now, -oN +always reports the unflipped normal. + +Changed rlam behavior so -iaN reads N lines from a stream rather than N +characters. This seems more useful, since -ibN is somewhat redundant with +the old behavior. + +Created rsplit program as compliment to rlam and to handle more complex +rtrace output into separate files or streams. + +Improved getinfo so that it can also hop over resolution string with -c +and header elide mode. Use +d to include resolution string in output, +and -d to elide with - and -c options. + +Made pvalue -u option mean "uncompressed" with -r. Also, allow skipping +bytes on standard input. + +Created rcode_depth tool to convert to and from a 16-bit/pixel portable +depth image encoding that uses a mix of linear and reciprocal distance +with explicit representations of 0 and infinity. Code for loading these +depth maps is in src/common/depthcodec.{h,c}. + +Created rcode_norm tool to convert to and from 32-bit/pixel portable +surface normal representation, matching the one in src/common/dircode.c. +Code for loading normal maps is in src/common/normcodec.{h,c}. + +Created rcode_ident tool to create indexed identifier files. +Code for loading these files is in src/common/idmap.{h,c}. + +Added -o* option to rtpict to produce layered images that handle most +output types from rtrace (colors, surface normals, distances, IDs). + +Created rcode2bmp script to create images from new rcode_* output maps. + +Improved efficiency of rmtxop in cases where matrix multiplication is +faster evaluated right-to-left, as when the final component is a +column vector. Also added ability to apply trailing unary operators +(-t, and -s or -c) to resulting matrix. + +Added new depth, normal, and ID file types to radcompare. + +Added BigEndian= header line for automatic byte-swapping in rmtxop +and radcompare. + +Added new "turbo" palette to falsecolor (thanks to Taoning). + +Nathaniel Jones created the "dcglare" program for annual glare +simulations when the sun and sky are visible through the window. +Tutorial is posted at +"https://github.com/nljones/Accelerad/wiki/The-Imageless-Method-for-Spatial-and-Annual-Glare-Analysis". + +Added support for loading RGBE images into matrices in dctimestep. + +Added -y option to gensky and gendaylit to support more accurate Michalsky +solar position calculation. + +Changed rsplit, so specifying a space as the separator parses words +between whitespace. + +Added ability of vwrays, pinterp, and pmblur2 to read encoded depth files. + +Added -o RxCxR1xC1 facility to perform blocking in rcollate. + +Made it so number of segments in genworm, genrev, and gensurf can be +given as expressions of previously defined variables, etc. + +Added -D and -n option to gendaymtx to output sun description and skip +matrix output on request. A -M option was also added to output solar +modifiers for rcontrib. Support also added for leap days in WEA input. +Enhancements sponsored by Ladybug Tools. + +Updated eplus_uvf to work with IDF version 9.x, checking version number. + +Fix to glarendx issues with dgi calculation. + +Made it so rmtxop and dctimestep undo any exposure applied to Radiance +pictures they may load. + +Added robjutil utility to manipulate Wavefront .OBJ files. + +Fixed a crash related to rtrace -om or -oM with mesh instances containing +materials. + +Improved rtrace flushing function to handle any value for -x without +deadlock on controlling process. + +Eliminated unnecessary start-up procedures for rtrace when only ray-casting +is needed (i.e., no tracing or value output). + +Improved isotropic sampling method in bsdf2ttree using "zipper" approach +applied in genBSDF. + +Added limit to memory used by high-resolution tensor tree BSDFs for +cumulative cache during MC sampling (rendering). Limit set to 250MBytes +per BSDF for standard architectures. + +Added -n and -s options to bsdf2ttree to provide some user control +over super-sampling. + +Improved surface normal codec used by ambient file to store orthonormal +directions exactly. + +Improved peak extraction method, which was undervaluing transmission +in many cases. + +New version of evalglare from Jan Wienold. + +Added -u option to gendaymtx to elide data columns (time steps) when +the sun is not visible above the horizon. + +========================= +Version 5.4 + +Added rcollate -c option to force operation to continue even if it +seems unnecessary. Made tool more robust. + +Added -t option to rcontrib (and rfluxmtx) to report progress after the +given number of seconds. + +Added "test" target to makeall to run unit tests. + +Modified bsdf2ttree to allow different parameters per input SIR file. + +Fixed issues with very large matrix files (> 2GB) in dctimestep, rmtxop, +and rcollate. + +Added -rf and -rb options to rmtxop to load front or back reflectance +matrix data from XML file rather than transmission. (Lars Grobe suggested.) + +Improved behavior for coincident surfaces with different materials. +Rather than returning one surface or the other based on floating-point +vagaries, opaque materials are now preferred over transparent ones. +If the materials are both transparent or both opaque, then whichever +surface appeared later in the scene description will be selected. +This came of a request for consistent behavior with legal CAD output +from Peter Apian-Bennewitz. + +Added explicit tests for on-edge intersections with polygons. This should +eliminate stray rays and tiny light leaks that often appear even in +well-constructed geometry. + +Added "-s up" option to pabopto2bsdf to allow for 180 degree symmetry, +meaning that data repeats after 180 degree rotation (as distinguished +from "-s bilateral" whose data is mirrored about a vertical plane). +Thanks to Helen Rose Wilson for the suggestion and informing me that +such a thing exists. + +Removed upper limit on number of modifiers in rcontrib. + +Put cap on maximum ambient gradient to avoid over-extrapolation of +poorly computed irradiance cache values. + +Added robjutil +T option to triangulate all faces in .OBJ description. + +Altered BSDF library to have both front and back diffuse transmittance +values, which can be different. This was necessary to avoid issues +caused by measurement and modeling discrepancies. + +Added pabopto2bsdf -g option to cull near-grazing scattering to avoid +issues with noise and negative values. + +Increased default dynamic range from 32 to 100 in pcond and normtiff. + +Added -o and -n options to genbox to create .OBJ output and segment +edges and corners for transparent materials. Also added -s option +to control smoothing for .OBJ and Radiance with segmented rounding. + +Made it so robjutil with the +r option for Radiance output now +produces normal smoothing unless normals are removed with -n. + +Added exposure preservation to pcompos when possible (i.e., when +there is only one input or inputs agree on exposure). + +Added -DSHARP_RGB compile-time option to use sharp RGB color space +rather than historic default. This can make for more accurate color +calculations, but requires that materials be recalibrated. The +PRIMARIES= line is also produced on output from rpict or rvu with +the correct set of primaries based on how the system was compiled. + +Added automatic flushing to the output of total, except when the -r +(running subtotals) option is used. + +Improved behavior of little-used -aw option, so that it avoids sea-level +rise caused by adding its own estimate back into the ambient level remainder. +It ended up being simple enough to derate the final average by the factor +corresponding to average surface absorpition, thus removing the average +from the final bounce estimate. + +Introduced ies2rad upgrades by Randolph Fritz. Randolph says it +fixes the following problems: + + 1. Generates correct Radiance geometry for spheres in 1995, 2002, + and 2019 IES files. + + 2. Generates correct Radiance geometry for vertical cylinders that + are taller than they are wide. + + 3. Ignores the file source ("File Generation Type") field in the + 2019 version of the file, which would otherwise be incorrectly used + as an output multiplier. + + It also offers the following enhancements: + + 1. Shape information is included in the .rad file comments. + + 2. 1995, 2002, and 2019-version luminous opening geometry is + accounted for. + + 3. The 2002 and 2019 IES file versions are recognized and + processed appropriately. + + 4. I have made an attempt to do something intelligent with less + common "luminous opening" shapes in the 1995, 2002, and 2019 versions + of the standard, though I have not implemented any support for new + geometry; approximations are substituted and warning messages issued. + Unfortunately, this code is not tested, since I don't have any IES + files that use these shapes. + +Added support for depth-of-field blurring in vwrays using -pd option. +Also, made -c count work with vwrays -i, producing multiple samples +per indicated pixel position. At the same time, support for the -pd +option was added to rtpict, which calls on vwrays for its samples. + +Fixed issue with BSDFs that didn't obey reciprocity, where direct +sampling wasn't following exactly with indirect sampling. This was +discovered and reported by Jon Sargent. + +Created checkBSDF tool to test XML BSDF reciprocity and perform similar +sanity checks. + +Added -O option to pvalue and pextrem to report watts/sr/m^2 even if +picture is XYZE. + +Made subtle changes to header i/o routines to preserve alignment in +binary file formats to enable memory-mapping. Implemented memory-mapped +matrix loading in rmtxop for binary double files. + +Removed ambient value sorting, which was written when ambient caches +could overwhelm available memory. This is rarely the case these days, +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.