| 2157 |  | which calls bsdf2rad then rad with a few useful default views. | 
| 2158 |  |  | 
| 2159 |  | ========================= | 
| 2160 | < | Version 5.2 | 
| 2160 | > | Version 5.2 (Release October 8, 2018) | 
| 2161 |  |  | 
| 2162 |  | Created psketch program to apply non-photorealistic rendering to selected | 
| 2163 |  | objects, identified by modifier name(s). | 
| 2166 |  | division of same-sized matrices. | 
| 2167 |  |  | 
| 2168 |  | Changed falsecolor so "-s" option is adjusted to match legend if one. | 
| 2169 | + |  | 
| 2170 | + | Falsecolor legend changes and improvements by David G-M and Stephen W. | 
| 2171 | + |  | 
| 2172 | + | Fixed bug in peak extraction code that generated | 
| 2173 | + | "Bad call to SDqueryTreProjSA" error, reported by Lars Grobe. | 
| 2174 | + |  | 
| 2175 | + | Increased maximum luminance to 10^7 in pcond to fix issue noticed | 
| 2176 | + | by Axel Jacobs where veiling glare not added for the sun under | 
| 2177 | + | some conditions. | 
| 2178 | + |  | 
| 2179 | + | Increased maximum number of open files in rcontrib to the system upper | 
| 2180 | + | limit of 2048 rather than the default 512 under Windows. | 
| 2181 | + |  | 
| 2182 | + | Added top-level resources directory with files from Rob Guglielmetti. | 
| 2183 | + |  | 
| 2184 | + | Improved accuracy for peaky BSDFs and small light sources. | 
| 2185 | + |  | 
| 2186 | + | Fixed issue with pmapdump noted by Axel Jacobs. | 
| 2187 | + |  | 
| 2188 | + | Improved accuracy of bsdf2ttree when converting scattering interpolation | 
| 2189 | + | representatons with strong peaks. | 
| 2190 | + |  | 
| 2191 | + | Tweaked peak-extraction code to work more reliably. | 
| 2192 | + |  | 
| 2193 | + | Georg Mischler updated SCons build system. | 
| 2194 | + |  | 
| 2195 | + | Rob Guglielmetti and Alex Swindler updated CMake build system. | 
| 2196 | + |  | 
| 2197 | + | Modified pcomb so the first view seen in the inputs is written into header. | 
| 2198 | + |  | 
| 2199 | + | Wrote rtpict script to run rtrace in parallel mode and simulate rpict with | 
| 2200 | + | -n option. | 
| 2201 | + |  | 
| 2202 | + | Added ability to move forwards/backwards specified distance in rvu "origin" | 
| 2203 | + | command.  Feature requested by John Mardaljevic, who essentially owns this | 
| 2204 | + | command, now. | 
| 2205 | + |  | 
| 2206 | + | Reduced bias in ambient super-sampling method. | 
| 2207 | + |  | 
| 2208 | + | Fixed bugs associated with zero transmission in chromatic tensor trees. | 
| 2209 | + | Thanks to Lars Grobe for pointing out issues. | 
| 2210 | + |  | 
| 2211 | + | Added RAYPATH searching for -f options to genrev, gensurf, genworm, | 
| 2212 | + | bsdf2klems, bsdf2ttree, and pcomb.  This makes behavior consistent | 
| 2213 | + | with rcalc, calc, and rendering tools. | 
| 2214 | + |  | 
| 2215 | + | Worked with Randolph Fritz to fix some issues with ies2rad and newer | 
| 2216 | + | IESNA63 standards. | 
| 2217 | + |  | 
| 2218 | + | Resurrected original bsdf2rad test program, renaming it bsdf2rado. Still an | 
| 2219 | + | optional build in src/cv/. | 
| 2220 | + |  | 
| 2221 | + | Fixed bug in rcontrib with virtual sources, where pretest was adding | 
| 2222 | + | to modifier accumulation buffers.  Reported by Mostapha. | 
| 2223 | + |  | 
| 2224 | + | Added an "aBSDF" material type that explicitly checks for peak extraction. | 
| 2225 | + | Its arguments are the same as the original "BSDF" type, but without the | 
| 2226 | + | thickness parameter, as proxy geometry is not supported by this new type. | 
| 2227 | + | The old "BSDF" type no longer does peak extraction under any circumstances, | 
| 2228 | + | since this behavior is superfluous for proxied geometry. | 
| 2229 | + |  | 
| 2230 | + | Added -r option to bsdf2rad (and bsdfview) to fix BSDF min and max range | 
| 2231 | + | for comparing BSDFs. | 
| 2232 | + |  | 
| 2233 | + | Fixed issue with pfilt -m option and uneven image size changes pointed | 
| 2234 | + | out by Rob Shakespeare. | 
| 2235 | + |  | 
| 2236 | + | Updates to evalglare and gendaylit from Jan Wienold, including new | 
| 2237 | + | colored sky option. | 
| 2238 | + |  | 
| 2239 | + | ========================= | 
| 2240 | + | Version 5.3 (Released September 1, 2020) | 
| 2241 | + |  | 
| 2242 | + | Created radcompare program to compare Radiance tool output to reference outputs | 
| 2243 | + | during unit-testing. | 
| 2244 | + |  | 
| 2245 | + | Fixed issue reading very large files (> 2 GBytes) in rcollate. | 
| 2246 | + |  | 
| 2247 | + | Made picking function in rvu ignore transparent and void surfaces. | 
| 2248 | + |  | 
| 2249 | + | Added -orRxX options to rtrace to enable output of mirrored and unmirrored | 
| 2250 | + | contributions and distances to enable new types of reprojections.  This also | 
| 2251 | + | cleaned up and unified handling of effective ray lengths throughout code. | 
| 2252 | + |  | 
| 2253 | + | Bug fixes from Jan Wienold for evalglare. | 
| 2254 | + |  | 
| 2255 | + | Changed indexed (numbered) output from dctimestep to start from 0 rather | 
| 2256 | + | than 1, to make it more consistent with expected input naming. | 
| 2257 | + |  | 
| 2258 | + | Increased default sampling in bsdf2klems (-n option) to 1024. | 
| 2259 | + |  | 
| 2260 | + | Fixed an issue noticed by David G-M that was causing genBSDF to bias | 
| 2261 | + | isotropic tensor tree samples resulting in subsequent failure of | 
| 2262 | + | peak extraction with "aBSDF" type. | 
| 2263 | + |  | 
| 2264 | + | Introduced max() and min() functions to .cal library. | 
| 2265 | + |  | 
| 2266 | + | Added random incident patch sampling to bsdf2klems to improve accuracy | 
| 2267 | + | with scattering interpolation representation input (e.g., from | 
| 2268 | + | pabopto2bsdf).  The other input types already sampled incident patch area. | 
| 2269 | + |  | 
| 2270 | + | Added gendaymtx -A option to compute average sky over all the input | 
| 2271 | + | time steps. | 
| 2272 | + |  | 
| 2273 | + | Added ability to output color image from rtrace with any of -ovrx options. | 
| 2274 | + | Also fixed inconsistency of -oN output when ray casting versus full trace. | 
| 2275 | + | Before, it would flip normal to front side unless ray casting.  Now, -oN | 
| 2276 | + | always reports the unflipped normal. | 
| 2277 | + |  | 
| 2278 | + | Changed rlam behavior so -iaN reads N lines from a stream rather than N | 
| 2279 | + | characters.  This seems more useful, since -ibN is somewhat redundant with | 
| 2280 | + | the old behavior. | 
| 2281 | + |  | 
| 2282 | + | Created rsplit program as compliment to rlam and to handle more complex | 
| 2283 | + | rtrace output into separate files or streams. | 
| 2284 | + |  | 
| 2285 | + | Improved getinfo so that it can also hop over resolution string with -c | 
| 2286 | + | and header elide mode.  Use +d to include resolution string in output, | 
| 2287 | + | and -d to elide with - and -c options. | 
| 2288 | + |  | 
| 2289 | + | Made pvalue -u option mean "uncompressed" with -r.  Also, allow skipping | 
| 2290 | + | bytes on standard input. | 
| 2291 | + |  | 
| 2292 | + | Created rcode_depth tool to convert to and from a 16-bit/pixel portable | 
| 2293 | + | depth image encoding that uses a mix of linear and reciprocal distance | 
| 2294 | + | with explicit representations of 0 and infinity.  Code for loading these | 
| 2295 | + | depth maps is in src/common/depthcodec.{h,c}. | 
| 2296 | + |  | 
| 2297 | + | Created rcode_norm tool to convert to and from 32-bit/pixel portable | 
| 2298 | + | surface normal representation, matching the one in src/common/dircode.c. | 
| 2299 | + | Code for loading normal maps is in src/common/normcodec.{h,c}. | 
| 2300 | + |  | 
| 2301 | + | Created rcode_ident tool to create indexed identifier files. | 
| 2302 | + | Code for loading these files is in src/common/idmap.{h,c}. | 
| 2303 | + |  | 
| 2304 | + | Added -o* option to rtpict to produce layered images that handle most | 
| 2305 | + | output types from rtrace (colors, surface normals, distances, IDs). | 
| 2306 | + |  | 
| 2307 | + | Created rcode2bmp script to create images from new rcode_* output maps. | 
| 2308 | + |  | 
| 2309 | + | Improved efficiency of rmtxop in cases where matrix multiplication is | 
| 2310 | + | faster evaluated right-to-left, as when the final component is a | 
| 2311 | + | column vector.  Also added ability to apply trailing unary operators | 
| 2312 | + | (-t, and -s or -c) to resulting matrix. | 
| 2313 | + |  | 
| 2314 | + | Added new depth, normal, and ID file types to radcompare. | 
| 2315 | + |  | 
| 2316 | + | Added BigEndian= header line for automatic byte-swapping in rmtxop | 
| 2317 | + | and radcompare. | 
| 2318 | + |  | 
| 2319 | + | Added new "turbo" palette to falsecolor (thanks to Taoning). | 
| 2320 | + |  | 
| 2321 | + | Nathaniel Jones created the "dcglare" program for annual glare | 
| 2322 | + | simulations when the sun and sky are visible through the window. | 
| 2323 | + | Tutorial is posted at | 
| 2324 | + | "https://github.com/nljones/Accelerad/wiki/The-Imageless-Method-for-Spatial-and-Annual-Glare-Analysis". | 
| 2325 | + |  | 
| 2326 | + | Added support for loading RGBE images into matrices in dctimestep. | 
| 2327 | + |  | 
| 2328 | + | Added -y option to gensky and gendaylit to support more accurate Michalsky | 
| 2329 | + | solar position calculation. | 
| 2330 | + |  | 
| 2331 | + | Changed rsplit, so specifying a space as the separator parses words | 
| 2332 | + | between whitespace. | 
| 2333 | + |  | 
| 2334 | + | Added ability of vwrays, pinterp, and pmblur2 to read encoded depth files. | 
| 2335 | + |  | 
| 2336 | + | Added -o RxCxR1xC1 facility to perform blocking in rcollate. | 
| 2337 | + |  | 
| 2338 | + | Made it so number of segments in genworm, genrev, and gensurf can be | 
| 2339 | + | given as expressions of previously defined variables, etc. | 
| 2340 | + |  | 
| 2341 | + | Added -D and -n option to gendaymtx to output sun description and skip | 
| 2342 | + | matrix output on request.  A -M option was also added to output solar | 
| 2343 | + | modifiers for rcontrib.  Support also added for leap days in WEA input. | 
| 2344 | + | Enhancements sponsored by Ladybug Tools. | 
| 2345 | + |  | 
| 2346 | + | Updated eplus_uvf to work with IDF version 9.x, checking version number. | 
| 2347 | + |  | 
| 2348 | + | Fix to glarendx issues with dgi calculation. | 
| 2349 | + |  | 
| 2350 | + | Made it so rmtxop and dctimestep undo any exposure applied to Radiance | 
| 2351 | + | pictures they may load. | 
| 2352 | + |  | 
| 2353 | + | Added robjutil utility to manipulate Wavefront .OBJ files. | 
| 2354 | + |  | 
| 2355 | + | Fixed a crash related to rtrace -om or -oM with mesh instances containing | 
| 2356 | + | materials. | 
| 2357 | + |  | 
| 2358 | + | Improved rtrace flushing function to handle any value for -x without | 
| 2359 | + | deadlock on controlling process. | 
| 2360 | + |  | 
| 2361 | + | Eliminated unnecessary start-up procedures for rtrace when only ray-casting | 
| 2362 | + | is needed (i.e., no tracing or value output). | 
| 2363 | + |  | 
| 2364 | + | Improved isotropic sampling method in bsdf2ttree using "zipper" approach | 
| 2365 | + | applied in genBSDF. | 
| 2366 | + |  | 
| 2367 | + | Added limit to memory used by high-resolution tensor tree BSDFs for | 
| 2368 | + | cumulative cache during MC sampling (rendering).  Limit set to 250MBytes | 
| 2369 | + | per BSDF for standard architectures. | 
| 2370 | + |  | 
| 2371 | + | Added -n and -s options to bsdf2ttree to provide some user control | 
| 2372 | + | over super-sampling. | 
| 2373 | + |  | 
| 2374 | + | Improved surface normal codec used by ambient file to store orthonormal | 
| 2375 | + | directions exactly. | 
| 2376 | + |  | 
| 2377 | + | Improved peak extraction method, which was undervaluing transmission | 
| 2378 | + | in many cases. | 
| 2379 | + |  | 
| 2380 | + | New version of evalglare from Jan Wienold. | 
| 2381 | + |  | 
| 2382 | + | Added -u option to gendaymtx to elide data columns (time steps) when | 
| 2383 | + | the sun is not visible above the horizon. | 
| 2384 | + |  | 
| 2385 | + | ========================= | 
| 2386 | + | Version 5.4 | 
| 2387 | + |  | 
| 2388 | + | Added rcollate -c option to force operation to continue even if it | 
| 2389 | + | seems unnecessary.  Made tool more robust. | 
| 2390 | + |  | 
| 2391 | + | Added -t option to rcontrib (and rfluxmtx) to report progress after the | 
| 2392 | + | given number of seconds. | 
| 2393 | + |  | 
| 2394 | + | Added "test" target to makeall to run unit tests. | 
| 2395 | + |  | 
| 2396 | + | Modified bsdf2ttree to allow different parameters per input SIR file. | 
| 2397 | + |  | 
| 2398 | + | Fixed issues with very large matrix files (> 2GB) in dctimestep, rmtxop, | 
| 2399 | + | and rcollate. | 
| 2400 | + |  | 
| 2401 | + | Added -rf and -rb options to rmtxop to load front or back reflectance | 
| 2402 | + | matrix data from XML file rather than transmission.  (Lars Grobe suggested.) | 
| 2403 | + |  | 
| 2404 | + | Improved behavior for coincident surfaces with different materials. | 
| 2405 | + | Rather than returning one surface or the other based on floating-point | 
| 2406 | + | vagaries, opaque materials are now preferred over transparent ones. | 
| 2407 | + | If the materials are both transparent or both opaque, then whichever | 
| 2408 | + | surface appeared later in the scene description will be selected. | 
| 2409 | + | This came of a request for consistent behavior with legal CAD output | 
| 2410 | + | from Peter Apian-Bennewitz. | 
| 2411 | + |  | 
| 2412 | + | Added explicit tests for on-edge intersections with polygons.  This should | 
| 2413 | + | eliminate stray rays and tiny light leaks that often appear even in | 
| 2414 | + | well-constructed geometry. | 
| 2415 | + |  | 
| 2416 | + | Added "-s up" option to pabopto2bsdf to allow for 180 degree symmetry, | 
| 2417 | + | meaning that data repeats after 180 degree rotation (as distinguished | 
| 2418 | + | from "-s bilateral" whose data is mirrored about a vertical plane). | 
| 2419 | + | Thanks to Helen Rose Wilson for the suggestion and informing me that | 
| 2420 | + | such a thing exists. | 
| 2421 | + |  | 
| 2422 | + | Removed upper limit on number of modifiers in rcontrib. | 
| 2423 | + |  | 
| 2424 | + | Put cap on maximum ambient gradient to avoid over-extrapolation of | 
| 2425 | + | poorly computed irradiance cache values. | 
| 2426 | + |  | 
| 2427 | + | Added robjutil +T option to triangulate all faces in .OBJ description. | 
| 2428 | + |  | 
| 2429 | + | Altered BSDF library to have both front and back diffuse transmittance | 
| 2430 | + | values, which can be different.  This was necessary to avoid issues | 
| 2431 | + | caused by measurement and modeling discrepancies. | 
| 2432 | + |  | 
| 2433 | + | Added pabopto2bsdf -g option to cull near-grazing scattering to avoid | 
| 2434 | + | issues with noise and negative values. | 
| 2435 | + |  | 
| 2436 | + | Increased default dynamic range from 32 to 100 in pcond and normtiff. | 
| 2437 | + |  | 
| 2438 | + | Added -o and -n options to genbox to create .OBJ output and segment | 
| 2439 | + | edges and corners for transparent materials.  Also added -s option | 
| 2440 | + | to control smoothing for .OBJ and Radiance with segmented rounding. | 
| 2441 | + |  | 
| 2442 | + | Made it so robjutil with the +r option for Radiance output now | 
| 2443 | + | produces normal smoothing unless normals are removed with -n. | 
| 2444 | + |  | 
| 2445 | + | Added exposure preservation to pcompos when possible (i.e., when | 
| 2446 | + | there is only one input or inputs agree on exposure). | 
| 2447 | + |  | 
| 2448 | + | Added -DSHARP_RGB compile-time option to use sharp RGB color space | 
| 2449 | + | rather than historic default.  This can make for more accurate color | 
| 2450 | + | calculations, but requires that materials be recalibrated.  The | 
| 2451 | + | PRIMARIES= line is also produced on output from rpict or rvu with | 
| 2452 | + | the correct set of primaries based on how the system was compiled. | 
| 2453 | + |  | 
| 2454 | + | Added automatic flushing to the output of total, except when the -r | 
| 2455 | + | (running subtotals) option is used. | 
| 2456 | + |  | 
| 2457 | + | Improved behavior of little-used -aw option, so that it avoids sea-level | 
| 2458 | + | rise caused by adding its own estimate back into the ambient level remainder. | 
| 2459 | + | It ended up being simple enough to derate the final average by the factor | 
| 2460 | + | corresponding to average surface absorpition, thus removing the average | 
| 2461 | + | from the final bounce estimate. | 
| 2462 | + |  | 
| 2463 | + | Introduced ies2rad upgrades by Randolph Fritz.  Randolph says it | 
| 2464 | + | fixes the following problems: | 
| 2465 | + |  | 
| 2466 | + | 1. Generates correct Radiance geometry for spheres in 1995, 2002, | 
| 2467 | + | and 2019 IES files. | 
| 2468 | + |  | 
| 2469 | + | 2. Generates correct Radiance geometry for vertical cylinders that | 
| 2470 | + | are taller than they are wide. | 
| 2471 | + |  | 
| 2472 | + | 3. Ignores the file source ("File Generation Type") field in the | 
| 2473 | + | 2019 version of the file, which would otherwise be incorrectly used | 
| 2474 | + | as an output multiplier. | 
| 2475 | + |  | 
| 2476 | + | It also offers the following enhancements: | 
| 2477 | + |  | 
| 2478 | + | 1. Shape information is included in the .rad file comments. | 
| 2479 | + |  | 
| 2480 | + | 2. 1995, 2002, and 2019-version luminous opening geometry is | 
| 2481 | + | accounted for. | 
| 2482 | + |  | 
| 2483 | + | 3. The 2002 and 2019 IES file versions are recognized and | 
| 2484 | + | processed appropriately. | 
| 2485 | + |  | 
| 2486 | + | 4. I have made an attempt to do something intelligent with less | 
| 2487 | + | common "luminous opening" shapes in the 1995, 2002, and 2019 versions | 
| 2488 | + | of the standard, though I have not implemented any support for new | 
| 2489 | + | geometry; approximations are substituted and warning messages issued. | 
| 2490 | + | Unfortunately, this code is not tested, since I don't have any IES | 
| 2491 | + | files that use these shapes. | 
| 2492 | + |  | 
| 2493 | + | Added support for depth-of-field blurring in vwrays using -pd option. | 
| 2494 | + | Also, made -c count work with vwrays -i, producing multiple samples | 
| 2495 | + | per indicated pixel position.  At the same time, support for the -pd | 
| 2496 | + | option was added to rtpict, which calls on vwrays for its samples. | 
| 2497 | + |  | 
| 2498 | + | Fixed issue with BSDFs that didn't obey reciprocity, where direct | 
| 2499 | + | sampling wasn't following exactly with indirect sampling.  This was | 
| 2500 | + | discovered and reported by Jon Sargent. | 
| 2501 | + |  | 
| 2502 | + | Created checkBSDF tool to test XML BSDF reciprocity and perform similar | 
| 2503 | + | sanity checks. | 
| 2504 | + |  | 
| 2505 | + | Added -O option to pvalue and pextrem to report watts/sr/m^2 even if | 
| 2506 | + | picture is XYZE. | 
| 2507 | + |  | 
| 2508 | + | Made subtle changes to header i/o routines to preserve alignment in | 
| 2509 | + | binary file formats to enable memory-mapping.  Implemented memory-mapped | 
| 2510 | + | matrix loading in rmtxop for binary double files. | 
| 2511 | + |  | 
| 2512 | + | Removed ambient value sorting, which was written when ambient caches | 
| 2513 | + | could overwhelm available memory.  This is rarely the case these days, | 
| 2514 | + | and the added code complexity and updating of cache values with LRU | 
| 2515 | + | counts dirties pages that would otherwise remain clean, so it was | 
| 2516 | + | often a loss even when VM was an issue. | 
| 2517 | + |  | 
| 2518 | + | Added iso2klems script to compute a Klems BSDF based on specular | 
| 2519 | + | and diffuse measurements as a function of incident angle. | 
| 2520 | + |  | 
| 2521 | + | Fixed issue with over-counting diffuse component during aBSDF | 
| 2522 | + | peak extraction. | 
| 2523 | + |  | 
| 2524 | + | Added dctimestep -x and -y options to specify image dimensions | 
| 2525 | + | for multiple outputs corresponding to result vectors. | 
| 2526 | + |  | 
| 2527 | + | Added -P option to rcalc to pass formatted input when cond is <= 0. | 
| 2528 | + |  | 
| 2529 | + | Created rcrop utility for cropping matrices and pictures more | 
| 2530 | + | conveniently, correcting view information.  Expect it to be handy | 
| 2531 | + | for extracting rows and columns from matrices, mostly. | 
| 2532 | + |  | 
| 2533 | + | Changed pcomb so -o option elides original exposure values | 
| 2534 | + | from indented source headers. | 
| 2535 | + |  | 
| 2536 | + | Added getinfo -r option, which is similar to -a except it will | 
| 2537 | + | replace indicated lines with new ones. | 
| 2538 | + |  | 
| 2539 | + | Slight change to vwrays -d option to not spit out "-ld-", and to | 
| 2540 | + | produce "-ld+" without requiring input picture as argument. | 
| 2541 | + |  | 
| 2542 | + | Added automatic overture calculation to rtpict with -n > 1 if | 
| 2543 | + | ambient cache is on and file is named.  If straight image output | 
| 2544 | + | is requested, we randomize all samples and avoid cache collisions. | 
| 2545 | + |  | 
| 2546 | + | Added cnt -s option to shuffle output. | 
| 2547 | + |  | 
| 2548 | + | Fixed issue with divide-by-zero errors in the ambient super-sampling | 
| 2549 | + | routine discovered by Jon Sargent of Solemma.  This affected regions | 
| 2550 | + | that had zero radiance, such as black backgrounds or unlit areas | 
| 2551 | + | with -av 0 0 0, when super-sampling was effectively disabled, causing | 
| 2552 | + | some loss in accuracy of the results. | 
| 2553 | + |  | 
| 2554 | + | Updated Klems Half- and Quarter-bases to match angles currently used | 
| 2555 | + | in WINDOW. | 
| 2556 | + |  | 
| 2557 | + | Eliminated most aiming failures for triangular light sources, at the | 
| 2558 | + | expense of conservative sampling near the centroid.  Thanks to | 
| 2559 | + | David Geisler-Moroder for his help on this. | 
| 2560 | + |  | 
| 2561 | + | Increased maximum set size to 8191 to avoid set overflow errors. | 
| 2562 | + |  | 
| 2563 | + | Added source obstruction test to statistics being kept on which | 
| 2564 | + | sources were visible in adaptive shadow testing code.  Previous | 
| 2565 | + | behavior was likely over-estimating source contributions. | 
| 2566 | + |  | 
| 2567 | + | Added diffuse components into maximum directional hemispherical | 
| 2568 | + | reported by checkBSDF, so comparing to 100% is easier for each | 
| 2569 | + | component. | 
| 2570 | + |  | 
| 2571 | + | Fixed incorrect calculations in iso2klems script, thanks to | 
| 2572 | + | help from Jacob Jonnson. | 
| 2573 | + |  | 
| 2574 | + | Updated official copyright and license according to new wording | 
| 2575 | + | provided by Jean Haemmerle at the LBNL Intellectual Property Office. | 
| 2576 | + | Both were copied verbatim from e-mail I received from Taoning Wang | 
| 2577 | + | on 8/20/2022. | 
| 2578 | + |  | 
| 2579 | + | Added -features option to rpict, rtrace, and rcontrib to check | 
| 2580 | + | which features are present or look for specific feature support. | 
| 2581 | + | This addition was suggested by Peter Apian-Bennewitz as an easier | 
| 2582 | + | way to determine which version of Radiance is installed and what | 
| 2583 | + | it supports, and is timely as we begin our refactoring of the | 
| 2584 | + | rendering code.  There are no current plans to add this to rvu. | 
| 2585 | + |  | 
| 2586 | + | Added falsecolor -odim, -orct, and -c0 options to overlay grid of | 
| 2587 | + | values on image.  This was requested by Rob Shakespeare. | 
| 2588 | + |  | 
| 2589 | + | Added -i* and -o* options in rhcopy for reading rays from the | 
| 2590 | + | standard input and writing rays from holodeck to standard output. | 
| 2591 | + | This will hopefully be useful in combining rholo with rcontrib. | 
| 2592 | + |  | 
| 2593 | + | Added further checking for coincident (overlapping) flat surfaces, | 
| 2594 | + | preferring front sides to back sides in the ray intersection | 
| 2595 | + | calculation.  This only applies to rings and faces, as the other | 
| 2596 | + | surface types would have required additional calculations to | 
| 2597 | + | make them work.  Material transparency is still the primary | 
| 2598 | + | consideration, now followed by ray hit side, followed by | 
| 2599 | + | modifier definition order in the input. | 
| 2600 | + |  | 
| 2601 | + | Increased octree and object limits to allow scenes with billions | 
| 2602 | + | of primitives. | 
| 2603 | + |  | 
| 2604 | + | Made reciprocity averaging default to "off" in bsdf2ttree, as it seems | 
| 2605 | + | to create more problems than it solves. | 
| 2606 | + |  | 
| 2607 | + | ==================== | 
| 2608 | + | Version 6.0 | 
| 2609 | + |  | 
| 2610 | + | Extensive changes to enable spectral rendering, which defaults to "off" | 
| 2611 | + | to maintain backwards-compatibility with previous versions, with the | 
| 2612 | + | exception of the ambient file format, which is changed.  The MAXCSAMP | 
| 2613 | + | macro, which defaults to 24, sets the maximum number of spectral samples. | 
| 2614 | + | The actual number of samples is set by the "-cs" option, which defaults | 
| 2615 | + | to 3 for rpict, rtrace, and rcontrib.  The latter two programs support | 
| 2616 | + | straight spectral output, but rpict is initially restricted to | 
| 2617 | + | tristimulus output pictures.  New pattern primitives "spectrum", | 
| 2618 | + | "specfile", and "specfunc" have been added as a means to specify | 
| 2619 | + | spectral reflectance, emittance, etc. to materials that still have | 
| 2620 | + | only 3 color channels.  Those RGB channels will still affect the | 
| 2621 | + | spectrum if used.  Unfortunately photon-mapping is currently broken when | 
| 2622 | + | spectral sampling is enabled, but we will fix this as soon as possible. | 
| 2623 | + | Calculation overhead appears to be approximately 10-15% for RGB | 
| 2624 | + | renderings compared to version 5.4a. | 
| 2625 | + |  | 
| 2626 | + | Added spectral rendering to rvu as well, and made -cs and -cw | 
| 2627 | + | options standard across the rendering library.  I also brought | 
| 2628 | + | mkillum, ranimove, rsensor, and mksource into the fold.  These | 
| 2629 | + | tools were broken in the initial release.  (Hopefully, they are | 
| 2630 | + | working now, but none have been tested as yet.) | 
| 2631 | + | There was also an indexing bug in the spectral->RGB conversions | 
| 2632 | + | that made reds into blues and vice versa, which has been fixed. | 
| 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. |