| 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, and rcollate. | 
| 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. |