Skip to content

Radiance 5.4 (2023-11-05)

Latest
Compare
Choose a tag to compare
@taoning taoning released this 05 Nov 00:51
· 418 commits to master since this release

New features

feat(bsdf2klems, bsdf2ttree): added XML header comments copying useful information from SIR inputs
feat(bsdf2ttree): made it so options/parameters may differ per input SIR
feat(bsdfview): Added call to checkBSDF for XML input
feat(checkBSDF): Minor change in output header
feat(checkBSDF): more consistent labeling in output
feat(checkBSDF): created new checkBSDF tool to check XML data reciprocity
feat(cnt): Added -s option to shuffle output
feat(dctimestep): Made it so -x and -y also work for single-picture output
feat(dctimestep): Added -x and -y options to specify picture output dimensions
feat(debugcal): added support for local coordinates and perturbed normals
feat(falsecolor): Added -odim option for value matrix overlay
feat(falsecolor): Simplify info header, replacing mess with command line args
feat(genbox): Added polygonal modeling of rounded edges and -o option for .OBJ
feat(genbox,robjutil): Added Radiance normal smoothing support to wfobj library
feat(gendaymtx): Minor improvement in verbose output
feat(gendaymtx): added warning when solar direct is unexpectedly high at night
feat(gensurf): added surface name output to OBJ
feat(getinfo): Added getinfo -r option (similar to -a but with remove/replace)
feat(getinfo): Now preserves byte alignment with -a and -c options
feat(icalc): Added [context and ] for pushing/popping contexts (mostly to test)
feat(icalc): Better print-out of expressions
feat(ies2rad): changes and enhancements to ies2rad by Randolph Fritz
feat(iso2klems): Small fixes and improvements to command-line options
feat(iso2klems): New script to generate Klems BSDF from simplified measurements
feat(mkpmap): Added -apI option for spherical ROI
feat(mkpmap): Added ETA to progress reports
feat(pabopto2bsdf): Made it so "-g auto" writes out minimum angle used in header
feat(pabopto2bsdf): Added -g option to cull grazing measurements from input
feat(pcompos): added exposure preservation when possible
feat(pcompos): added exposure metadata preservation when possible
feat(pvalue,pextrem): Added -O option to report watts/sr/meter^2 always
feat(rad): added report of unknown setting on command line
feat(rad,ranimate): Improved handling of quoted strings for file names
feat(radcompare): Added '-n' option to allow escaped newlines
feat(ratrace): First working version of new C++ rendering tool
feat(rcalc): Added warning and embedded message when buffer overflows with -P
feat(rcalc): Added check for "cond" variable defined as constant
feat(rcalc): Added -P option to pass records where cond evaluates <= 0
feat(rcode_depth,rcode_norm): Allow NROWS,NCOLS in header rather than res string
feat(rcode_depth,rcode_norm): Output NROWS & NCOLS with -Ho
feat(rcollate): Added formatting check for ASCII input with -c option
feat(rcollate): Added -c option to force operation with checks.
feat(rcontrib,rfluxmtx): Added -t option to specify progress report interval
feat(rcrop): Changed to assuming ASCII input if unspecified format, same as rmtxop
feat(rcrop): Added support for cropping encoded depth and normal files
feat(rcrop): Made view error non-fatal and improved NCOMP check for pictures
feat(rcrop): Created simple cropping utility for matrices and pictures
feat(rhcopy): Added -i* and -o* options for reading and writing rays
feat(robjutil): improved verbose reporting
feat(rpict, rvu): added Sharp RGB primary rendering ability with -DSHARP_RGB
feat(rpict,rtrace,rcontrib): Added Output= list to -features
feat(rpict,rtrace,rcontrib): Added -features option to check for method support
feat(total): added automatic output flushing unless -r option is present
feat(vwrays): added support for -c combined with -i option
feat(vwrays,rtpict): Added support for -pd option to sample depth-of-field
feat: further fleshing out thread model
feat: Preparing for multi-threading
feat: Added conformal noise transformation
feat: Increased object and octree size limits
feat: Added test for which side of flat surface is seen in case of coincident surfaces
feat: made it so line number in ASCII file is not repeated if the same
feat: Added approximation for triple-glazing
feat: Added fddate() call to get modification time from open file
feat: Added ambient format with labels
feat: added quaternion rotation matrix calculation
feat: Added other relevant rendering options to ambient file header
feat: Taoning Wang added melanopic response function
feat: Support for format IDs with internal white space
feat: Added alignment times to fputformat()
feat: Added float and double alignment to i/o routines for future mmap() use
feat: added maximum # glyph vertices for font
feat: finished implementation of tensor tree reciprocity calculation
feat: Added exact calculations
feat: Added getVertexNeighbors() call to find neighboring edges/vertices
feat: Added VLERP() macro to interpolate two points (position along 3-D line)
feat: added growBoundingBox() to compute scene boundaries
feat: created addScene() function to add one scene to another
feat: added routine to triangulate .OBJ scene in memory
feat: added output stream error-checking to putstr(), putint(), and putflt()
feat: removed upper limit on number of modifiers in rcontrib
feat: Added "up" symmetry for duplicating data @ phi += 180 degrees
feat: added client data pointer for caller convenience
feat: Added custom face flag(s)
feat: added ability to choose faces when duplicating scene
feat: better error reporting for input file names
feat: added consistent handling of coincident surfaces, thanks to Peter A-B
feat: Jan added -d option for setting dewpoint as requested by Zack Rogers
feat: Added -rf and -rb options to rmtxop to load XML reflectance matrices
feat: Added argument for filtering multiple input pictures
feat: Added functional check for XYZ color space to coloprimsOK()

Bug fixes

fix(bsdf2klems, bsdf2ttree): increased command-line buffer to accommodate comments in Windows
fix(bsdf2klems, bsdf2ttree): preventing issues on Windows with newlines in commands
fix(bsdf2rado): switched to using grid_res
fix(bsdf2ttree): made reciprocity averaging default to "off"
fix(bsdf2ttree, bsdf2klems): tightened threshold for on-edge detection
fix(bsdf2ttree, bsdf2klems): reduced threshold to avoid "sticking" behavior in interpolant
fix(bsdfquery): literal edge case causing interpolation to fail
fix(checkBSDF): added missing newline in output
fix(checkBSDF): Fixed another divide-by-zero and improved output consistency
fix(checkBSDF): Fixed NaN error
fix(checkBSDF): fixed Windows compilation error
fix(checkBSDF): corrected issue with missing diffuse component in Klems BSDFs
fix(cnt): Reversed sense of new test -- whoops!
fix(cnt): Added extra check for occupancy counter overflow
fix(dcglare): argument processing fix from N. Jones
fix(dctimestep): Reinstated ability to handle input matrices without NROWS in header
fix(dctimestep): Repaired automatic detection of number of input rows
fix(dctimestep): Fixed issue loading CMATRIX from HDR picture
fix(dctimestep): Forgot to add new options to usage message
fix(falsecolor): corrected improper crop with -orct option
fix(falsecolor): Just guessing at this point what's wrong in Windows
fix(falsecolor): Eliminated fractional pixel offsets to pcompos, etc.
fix(falsecolor): fix issue with -lw 0 under Windows
fix(findglare): Changed from %f to %e formatting in some source output parameters
fix(genBSDF): Added error message for +mgf with +geom and no input file
fix(genBSDF): mistyped variable name in last change
fix(genBSDF): re-instated reciprocity averaging for isotropic TT transmission
fix(genambpos): Added error message when attempting to run under Windows
fix(genbox): Fixed issue with reversed triangles
fix(gendaylit): correction to sky integration factor for solid angle
fix(getinfo): error message clean-up
fix(getinfo): More consistent behavior using -r option
fix(histo): Added lowest value to range
fix(histo): Include lowest value in range
fix(ies2rad): Randolph Fritz fixed issue with some luminaire geometries and improved code readability
fix(ies2rad): Changes to allow spaces in input file names
fix(iso2klems): fix to my last bug fix for Windows
fix(iso2klems): hopeful Windows fix
fix(iso2klems): used solid angle, when projected SA needed, and integral factor
fix(mkpmap): CDF inversion binary search bug in emitPhoton().
fix(mkpmap): Modified OOC_SortRecurse() to output system error if fork() fails
fix(mkpmap): undefined photon ray dir in brdfPhotonScatter()
fix(mkpmap,pmapdump): Made pmap files (hopefully) more portable by forcing numPhotons to fixed size irrespective of platform (possibly with 0-padding)
fix(normpat,pacuity,vlpic): Made handling of resolution string more robust
fix(obj2mesh): fixed normal reversal during some face triangulation
fix(pabopto2bsdf): Added declaration of popen() needed for Windows
fix(pcomb): Corrected recent bug introduced to header scanning
fix(pcomb): Changed behavior to elide exposure from indented header for evalglare
fix(pvalue): Remove NCOMP=, NROWS=, NCOLS= lines from header (either direction)
fix(radcompare): backed out last change - didn't realize FORMAT entry was used
fix(ranimate): Explicitly ignore MBLUR setting when ANIMATE variable set
fix(rcalc): Slight improvement for buffer overflow in -P mode
fix(rcode2bmp): Fixed issue with padding of format values
fix(rcode_depth): Pixels with -i option were off by 1
fix(rcontrib): Removed participating media from rcontrib -features
fix(rcontrib): Bug in new code to maximize open file descriptor limit
fix(rcontrib): Fixed potential string overrun while printing header
fix(rcontrib): removed AdaptiveShadowTesting from feature list (didn't belong)
fix(rcontrib): Removed pointless initial report of 0% done after 0 hours
fix(rcontrib): Forgot EOL in report for new -t option
fix(rcrop): Minor - added missing check for write errors
fix(rcrop): Bug in view cropping with rotated pictures
fix(rcrop): Eliminated "broken pipe" error when reading from command
fix(rfluxmtx): Fixed issue with too-small polygons
fix(rmtxop): potential overrun of #? header ID
fix(rmtxop): Made error reporting consistent regardless of concatination direction
fix(rmtxop): Fixed recently introduced bug in RGBE/XYZE load function
fix(rmtxop): Fixed bug introduced in previous change for transpose operation
fix(rpict): Bug in header output with -o option
fix(rpict,rvu,rtrace,rcontrib): Eliminated over-counting of diffuse for aBSDF's
fix(rpiece): Added PRIMARIES= to header to match rpict more closely
fix(rsensor): Minor corrections wrt. integer types
fix(rtrace): corrected defaults reporting with tilde
fix(rtrace): Restored original silence during virtual source pretests
fix(rtrace): Fixed segmentation violation introduced in 2.93 (Apr 2020)
fix(rtrace): restored tracing to sources with -oT option
fix(rtrace): Fixed ancient THT00PID bug that omitted an octant in out-of-core pmap lookups! UUAARGH!
fix(rtrace,rcontrib): Added i/o format options to features list
fix(total): Improved option error checking
fix(vwrays): No longer spits out -ld- with -d option, only -ld+
fix(wrapBSDF): Allow for commas in Klems matrix data
fix: Added handling of "m prev = prev" context renewal
fix: ratmain renamed to rxmain
fix: tighter requirements on subfeature list
fix: made it so '+f' works as '+forward' instead of trying to load file
fix: Better fix to potential vulnerability from malicious/corrupted image
fix: undid last change, as the way freadcolrs calls oldreadcolrs can cause bug
fix: protection against malicious or corrupted input
fix: made handling of resolution strings more consistent
fix: Now squeezes unquoted spaces across escaped newlines
fix: Preserve spaces in quoted strings
fix: updated a few declarations
fix: corrected declaration for savestr()
fix: passing const char * to savestr() and shash()
fix: Missed one "const"
fix: Updated with const char * type where appropriate
fix: removed deprecated call to vfork()
fix: win_popen() stopped working for some reason under Windows 11
fix: Undid previous adjustment, realizing the original value was for single dielectric interface
fix: Stray #if statement
fix: bug found by R. Shakespeare where pattern was applied with -i option
fix: compile error fixes related to redeclaration of eputs() and wputs()
fix: compile error caught by DGM
fix: Actually, need to allow -features to have arguments
fix: fixed crash when executed with no arguments
fix: moved #undef's to where they belonged
fix: fixed inappropriate location for recursion check
fix: Forgot castonly as consideration when changing ambient file
fix: Paired savqstr() and freeqstr() calls for octname
fix: Changed RNUMBER to size_t to be more portable across systems
fix: added stdlib.h to eliminate warning about atoi()
fix: Keeping better track of which sources were visible with shadow cache
fix: reduced aiming failures for triangular light sources
fix: updated and corrected Klems half and quarter bases to match WINDOW
fix: Added missing check in make_rbfrep() for failure to add RBF
fix: sources were returning black from backside with back visibility off
fix: Better implementation of irandom()
fix: Avoid NaN's with ambient super-sampling in perfectly black regions
fix: Improved error-checking related to issues reported by Stephen Wasilewski
fix: Renamed setcontext() to calcontext() to avoid obscure macOS naming conflict
fix: repair in last change, which broke globmatch()
fix: corrected declarations for emalloc routines
fix: Dealt with minor corner case in globmatch()
fix: removed stray tempbuffer() declaration
fix: syntax(!)
fix: added position-based BSDF value perturbation for reliable peak extraction
fix: bad bug introduced in last change to ecalloc() -- recursive loop!
fix: added proper handling of fore clipping distance
fix: added missing ray settings for ring primitive
fix: added #include needed from last change
fix: Repaired issue with reciprocity and BSDF sampling, thanks to Jon Sargent
fix: Repaired issue with reciprocity and BSDF sampling, thanks to Jon Sargent
fix: repaired regression introduced to Windows version
fix: logical error -- single transparent illum would end up visible
fix: allow getpath() to be passed its own buffer as file name
fix: removed reference to errmsg[], which was causing link errors
fix: switched call back from fprintf() to eputs() for error messages
fix: added checks for stdio open errors
fix: Fixed regression introduced in last change for min() and max() calls
fix: Improved duplicate sample testing, which improves peak extraction
fix: repaired incorrect equality tests
fix: corrected minor inconsistencies in selecting surface intersections
fix: corner case where much of histogram gets truncated
fix: potential issue with tmNewMap() call after tmClearHisto()
fix: only remove suffix in final file component (i.e., allow folder suffixes)
fix: Repaired issue in last change with colinear vertices
fix: vertex swapping code was missing face list pointer
fix: added handling of 32-bit RREAL
fix: bad emalloc() sizeof(type)
fix: very minor memory leak (2 strings) in dupScene()
fix: Use reciprocity for diffuse transmittance if given only one side's BTDF
fix: Allow different front/back diffuse reflectance in BSDF library
fix: Favor "Transmission Back" for diffuse transmittance
fix: corrected priority for calculating diffuse transmittance
fix: free memory on failure
fix: repaired out-of-order function output for irregular abscissa
fix: added check for primaries to write XYZE file
fix: plugged memory leak for degenerate faces
fix: removed redundant commenting on transforms
fix: hold off producing header until work is finished
fix: Further reduced threshold to handle some extreme corner cases
fix: repaired bug introduced in last change
fix: fix bug introduced in last change to putstr() for empty strings
fix: added checks for output error
fix: added flush to be extra sure file writes out
fix: added handling of writing longer long's that architecture supports
fix: relative minimum was not being used correctly
fix: minor issue with rayorigin() called before direction set
fix: major bug introduced in 2.15 revision with axis selection
fix: correction to last feature add
fix: Added explicit edge tests to eliminate light leaks at corners
fix: Added explicit edge tests to eliminate light leaks at corners
fix: made global error buffer larger to handle longer strings
fix: Added measure of caution for very long file names or command lines
fix: prophylactic against 64-bit architectures with 32-bit int's
fix: improved consistency to favor later modifier definiton
fix: more thorough fix to finding material in alias chain
fix: bug in findmaterial() could return material in wrong alias modifier chain
fix: better consistency with infinite rays returning origin instead of (0,0,0)
fix: return view origin rather than point at infinity for infinite depth values
fix: reinstated interpretation of NULL file name as stdin, so dctimestep works
fix: changed definiton of ssize_t for Windows
fix: compile error under Windows
fix: fixed 64-bit addressing issues in some tools
fix: avoid infinite loop in problematic environments
fix: more 64-bit fixes
fix: fixed a few other bugs related to 64-bit addressing
fix: fixed malloc() call overflow for large matrices
fix: fixed issue with last change and made it so TMAP_TYP can be float
fix: repair error in last change
fix: eliminated spurious call to fclose() on pipe
fix: added check for pipe command return status
fix: avoid quoting words that are already in quotes
fix: minor improvement to ambient value checks
fix: added caution around NULL modifier names
fix: freeing some objects now preserves valid modifier lookups
fix: Corrected overflow of some color primaries during tone-mapping

Performance

perf(bsdf2rado): minor adjustments
perf(bsdf2ttree): BREAKING CHANGE - changed reciprocity averaging default from "on" (+a) to "off" (-a)
perf(cnt): improved randomness of cnt -s option with new irandom(modulus) call
perf(cnt): Minor optimization on -s mode
perf(cnt): Added memory-efficient large array shuffle (up to 2 billion entries)
perf(falsecolor): Minor adjustments to matrix value formatting
perf(falsecolor): Build overlay matrix by rows to avoid too many processes
perf(falsecolor): Minor performance improvements
perf(genbox): Simplified method for normal inversion
perf(gensky): increased output precision to 0.1% (from 1%)
perf(gensurf): .OBJ output now re-uses identical subsequent normal IDs
perf(getinfo): Added a couple of missing calls to flockfile()
perf(obj2mesh): eliminated unnecessary material file name storage
perf(pcond): more aggressive trim criterion for tone curve
perf(radcompare): Added "FORMAT" to ignored header variables, since it's dealt with separately
perf(radcompare): minor improvement in handling of EXPOSURE header info
perf(rcalc): don't bother to reduce constant expressions with -n option
perf(rcollate): Improved checks and added default -oc setting to # input columns
perf(rcontrib): Increased open file limit under Windows (check for crashes?)
perf(rcrop): Improved i/o performance for binary data under Unix with pread(2)
perf(rcrop): added flockfile() call to avoid semaphores in fread() and fwrite()
perf(rcrop): Increased seek threshold to something closer to expected page size
perf(rcrop): Made binary file transfer more efficient
perf(rhcopy): Improved performance by sorting beams according to disk location
perf(rmtxop): Minor tweak for transpose to improve mmap efficiency
perf(rmtxop): realized simpler solution to output of RGBE or XYZE from 1 chan
perf(rmtxop): Reduced memory use when writing HDR output from single channel
perf(rmtxop): Turned off memory-mapped input for files < 1 MByte
perf(rmtxop): Added memory-mapping for double matrices
perf(rpict, rtrace, rvu): improved function of -aw rendering parameter
perf(rpict,rtrace,rcontrib): changed shadow test to always check first 2 sources
perf(rtpict): Swapped sort -R command for cnt -s
perf(rtpict): Minor optimization to last addition
perf(rtpict): Improved random sampling to avoid ambient cache collisions
perf(rtpict): Minor simplification of overture command
perf(rtpict): Added overture calculation with ambient cache and -n > 1
perf(rtrace,rpict,rvu): Removed ambient value sorting, which had issues
perf: Slight reduction in time for variable clearing
perf: Avoid calling nonsurfintree() when octree newer than input files
perf: made EXPOSURE and COLORCORR handling more consistent across types
perf: Reduced ridiculous number of digits included in exposure
perf: Bumped object set hash table size to improve performance on large scenes
perf: Increased hash table size for lots of data files
perf: Increased scene size limits
perf: Improved exponent for Fresnel approximation
perf: Eliminated call to ungetc() for better performance
perf: added calls to flockfile()/funlockfile() for more efficient reading
perf: made addition of smaller radius cache values more robust
perf: Modified behind test to avoid issues with small-scale scenes
perf: Updated default -lw value to smaller tolerance
perf: Eliminated unnecessary curpos optimization to simplify code
perf: Increased maximum set size to 8191 to avoid set overflow errors
perf: very minor optimization in viewloc()
perf: Added a few more relevant options to ambient file header
perf: Replaced random()%modulus with irandom(modulus) where appropriate
perf: Removing some conditionals with binary operations
perf: Moved up test to avoid some work when not needed
perf: truly minor optimization
perf: Turned off alignment for Radiance picture files (not needed)
perf: Modest improvement in determining when to extract "through" peak
perf: Added check for NULL and empty string
perf: minor improvement to cropview()
perf: minor performance improvement in grayscale mode to 24-bit output
perf: Simplified BSDF sampling, leaving source sampling to -dj option
perf: minor optimization
perf: Undid last change and reduced specular transmission threshold for PE to 0.05%
perf: minor efficiency improvements
perf: made mesh self-consistency tests much more thorough
perf: switched to more robust, moving threshold for near-linear tone curves
perf: removed unnecessary call for non-round edges and .OBJ output
perf: improved black crushing behavior for linear mapping
perf: changed default dynamic range from 32 to 100 to reflect modern displays
perf: appending texture coordinates and normals more efficient in addScene()
perf: minor optimization on last change
perf: removed max() definition as it's in library, now
perf: made it so interp2_realloc() will never fail if reducing array size
perf: added handling of blacks in linear tone-mapping
perf: improved fall-back setting consistency for histogram adjustment
perf: put maximum cap on gradient values to avoid over-extrapolation
perf: slight increase in ambient sampling accuracy
perf: slight improvement to vertex face traversal
perf: minor optimization
perf: made use of OVOID and findmaterial() more consistent and efficient
perf: minor efficiency improvement in some material searches
perf: changed default setting of ambient value
perf: missed a memcpy() opportunity
perf: increased accuracy of luminance map
perf: insignificant branch reduction

Refactoring

Renamed ratrace to rxtrace
refactor: minor code improvements
refactor: Changed some char* args to const char* to avoid warnings
refactor: made "castonly" variable accessible outside rtrace
refactor(findglare): Removed outdated type modifiers
refactor: removed unreferenced external symbol
refactor: Switched to using irandom() where appropriate
refactor(rcollate): Minor logic simplification
refactor(rcollate): A few minor changes that should not affect performance
refactor(rcrop): Other minor code clean-ups
refactor(rcrop): Minor code rearrangements and improvements
refactor(rcalc): Simplified buffer interface a bit
refactor: changed char *tempbuffer() to void *tempbuffer()
refactor(rmtxop): Changed matrix array access macros
refactor: made fputformat() more accurate wrt types
refactor(rcalc): Replaced fputc() call with putchar() and tidied up tabs
refactor(rcollate): eliminated load_file() completely for Windows
refactor: eliminated use of MEM_PTR and (char *) for untyped memory
refactor: eliminated stray uses of (char *) to point to memory
refactor: created cropview() function to manage view sections
refactor: removed prefix from SDdisk2square() and SDsquare2disk() & made consistent
refactor: moved SDdisk2square() and SDsquare2disk() declarations to fvect.h
refactor: moved depth-of-field sampling to separate module
refactor: reordered struct members more logically
refactor: made font load errors non-fatal
Added mapping for Red Camera's "Log3G10" encoding
Replaced 1-erf() with erfc()
Named wrong program in example!
refactor: removed unneeded #include
refactor: changed from calling emalloc() to savqstr()
Added better termination criterion for linear tone curve
Fixed off-by-one bug in photon density estimate bandwidth clamping if exceeds number of photons.
Added optional consistency check of loaded out-of-core photon map in OOC_LoadPhotons() when compiling for debugging mode (DEBUG_OOC).
Dolby's Perceptual Quantization
Added +T option to triangulate all faces with 4 or more sides
refactor: added handy macros for getting group and material IDs
Handy file for working with lookamb
Modified photon port rejection sampling in tracePhoton() to better handle faceted photon ports by testing for identical material
refactor: aesthetic change to flag
refactor: Created comparison macros for RREAL and FVECT types
refactor: added macros for RREAL comparisons
refactor: Created comparison macros for RREAL and FVECT types
More 64-bit addressing fixes
refactor: made use of histogram data consistent with new HIST_TYP #define
refactor: added defined types for histogram and map tables
refactor: added default initialization of RAY ron, rod members
Corrected use of bias compensation
Added bias compensation to photon-mapping tests

Others

chore(bsdf2rad): added missing target to CMakeLists.txt
chore(evalglare): Changed libreetz to just reetz
chore(genbox): Added missing link to math library
chore(genbox): changed library linkage order
chore(libtiff): Trying to fix compile issue for libtiff under Windows
chore(ltview,ltpict,bsdfview): Added to chmod list
chore(makeall): Added "makeall test" to run unit tests and report success
chore(makeall): Added "makeall test" to run unit tests and report success
chore(rcrop): Forgot install copy for rcrop
chore(robjutil): added to installer targets is it wasn't being copied
chore: updating for official 5.4 release
chore: Removed qt from macOS X and Linux builds as it was having issues
chore: Made support for $(INSTALL) more universal between rmake directories
chore: Reinstated Qt dependencies/builds
chore: Moved hsv_rgb.cal to build directory with dependency, where it belongs
chore: minor formatting/rearrangement
chore: added declarations for disk2square to rtmath.h
chore: added ANSI function prototypes
chore: Checked in flag to eliminate warnings (thanks to Randolph Fritz)
chore: fixed issue with read-only library files in distribution
chore: added forgotton new module
chore: better error detection if ed fails to build Version.c
chore: no longer important to link rview -> rvu and rtcontrib -> rcontrib
docs(License.txt): Updated copyright year
docs(bsdf2rad): word missing
docs(dctimestep): Changed some wording and added a NOTES section
docs(falsecolor): clarified the -orct option
docs(filefmts): Added by Randolph Fritz
docs(filefmts): updates and additions from Randolph Fritz
docs(filefmts): Randolph fixed a couple of formatting issues
docs(filefmts): recovered file formats document from Randolph Fritz (thanks!!)
docs(gendaymtx): wording improvement
docs(gendaymtx): Added missing -u option from usage line
docs(getinfo): Slight clarification
docs(ies2rad): Randolph Fritz updated some of the comments for us
docs(mkpmap): documented -apI option
docs(mkpmap): increased-->reduced in description of -ds.
docs(mkpmap): Clarified effect of -dp and -ds on photon ports.
docs(pabopto2bsdf): Clarified Mountain and pg2 authorship
docs(pabopto2bsdf): added detail that different files may be used for different sampling patterns
docs(pabopto2bsdf): missing word
docs(pcomb, pcompos): Added remarks about EXPOSURE settings
docs(rad): Added note about bias compensation in PCMAP and PGMAP settings
docs(ranimate): Clarified exceptions for MBLUR and DBLUR settings
docs(rcode_ident): Clarified wording regarding -r option
docs(rcode_ident): corrected information about file requirements for -r option
docs(rcrop): Reorganized man page a bit for clarity
docs(rcrop): Added comment about header requirements and added rmtxop example
docs(robjutil): improved clarity on +T option
docs(rtpict): Corrected references for rcode_norm
docs(rtpict): updated to match code
docs: Added note about setting of ashik2 parameters
docs: corrected typo
docs: Randolph Fritz added some useful comments describing encoding
docs: adding converted version of materials.1 to repository
docs: made use of "virtual" and "secondary" sources more consistent
docs: Updated license and copyright using verbiage from LBNL's IPO
docs: Recent bug-fix that turns out to be more important than first thought
docs: Added cross-references
docs: Added remark about ambient value sorting removal
docs: Added missing items and alphabetized lists
docs: Added missing checkBSDF to list
docs: clarified explanation of -a option
docs: Added comment pointing out issue with ambient corral after changes to -aa
docs: updating copyright dates and minor fixes
docs: added paragraph break
docs: update from Rob Fritz
docs: man page for lamp.tab created by Randolph Fritz
docs: Updated missing unit tests
docs: minor corrections
docs: udated ID tag
docs: updated ID tag
docs: Updated with new programs
docs: fixed comment
docs: added space where needed in options
docs: fixed typo
docs: fixed comment in function parameter list
docs: missing words
docs: created man page for pabopto2xyz
docs: improved wording and added NOTES section
docs: added man page for pabopto2bsdf
docs: typo
docs: small typo
docs: corrected comment
docs: formatting of option reminder
docs: typo

style(iso2klems): Improvements to quoting for Windows and Unix
style(mkpmap): revised headers and indentation/linebreaks
style: Removed repeated #include, spotted by Randolph Fritz
style: minor code clean-ups
style: corrected efree() typing and channel free loop
style: removed unused variable
style: Beautifying last addition
style: indentation
style: Minor code cleanup
style: removed unused reference
style: made function prototypes "extern" as per standard practice
style: line returns where they didn't belong
style: removed stray character
test(checkBSDF,rad2mgf): fixes for Windows
test(falsecolor): Updated reference for new falsecolor
test(genbox): update to match new output order
test(obj2mesh): needed new reference corresponding to bug fix
test(pcond): updated output for pcond after last change
test(ra_t8,ra_gif): Updated unit tests, toggling dither
test(ra_t8,ra_gif): Added unit tests for ra_t8 and ra_gif
test(rcode_ident): updated reference result to handle resolution string change
test(rcode_ident): Updated reference due to change in resolution string
test(rcollate): Added -c option to test-rcollate
test: updated rendering references for trans2
test: Better fix to accuracy issues
test: Increased calculation parameters again trying to eliminate delta errors
test: Updated reference images after ambient super-sampling bug fix
test: Broke up some longer lines for testing and aesthetic reasons
test: Updated trans2 tests after -as bug fix in -r 2.89 of ambcomp.c
test: Removed -v option from radcompare
test: Added test/cv to set of test directories
test: Created unit tests for some tools built in src/cv
test: Rerendered image with outlier pixel
test: rearranged target order in hopes of making build more efficient
test: updated reference file
test: moved illum surfaces flush with inner wall
test: increased pixel sampling in attempt to beat variance issues
test: added RCS tags
test: fixes and improvements with addition of batches for splitting job
test: bumped up threshold a little further
test: Added relative difference minimum to picture comparisons
test: increased tolerance for picture comparisons to deal better with speculars
test: updated default -av setting in rad, which affected tests
test: Added missing tests for prism1 and prism2
test: added missing test for trans2-win