refactor: Removed experimental SRCSKIPOPT code
fix: Corrections to source skip test, mostly for SSKIPOPT option
feat(rpict): Experimental source skipping option with -DSSKIPOPT compile flag
perf: Improved source scatter sampling
fix: Improved tracking of reflected vs. transmitted rays for antimatter
feat(rpict,rtrace,rcontrib,rtpict): Hyperspectral rendering (except photon map)
fix: Keeping better track of which sources were visible with shadow cache
fix: sources were returning black from backside with back visibility off
fix: Improved error-checking related to issues reported by Stephen Wasilewski
fix: logical error -- single transparent illum would end up visible
perf: made use of OVOID and findmaterial() more consistent and efficient
refactor: added default initialization of RAY ron, rod members
perf(rpict,rtrace,rcontrib): changed shadow test to always check first 2 sources
perf: moved source blocker intersection call before material evaluation
Fixes and improvements from last change, making ray-casting faster
Added precautionary testing when checking for FHUGE
Moved findmaterial() from source.c to initotypes.c
Improved findmaterial()'s ability to check alias branches
Roland fixed behavior for volume photon-map and source in-scattering
Revised PMAP overcounting macros in pmapmat.h, added one in badcomponent() for overcounted caustics from transferred shadow/ambient rays
Fixed bug in source obstructor cache for antimatter
Moved source obstructor initialization out of source checking loop(!)
Initial check-in of photon map addition by Roland Schregle
Set minimum number of shadow checks to perform (4)
Removed outdated modifiers
Eliminated warning for "no light sources found" under normal circumstances
Added clearing of clipped object (antimatter) when sources freed
Fixed Windows bug in mkillum by initializing rmax
Made distant source selection procedure more consistent
Changed intens() call back to bright() as recommended by David Geisler-Moroder
Fixed bug in shadow cache related to antimatter holes
Fixed bug in virtual sources with intervening transmitters
Fixed bug in aliases of aliases
Changed bright() to intens() in a couple of places for consistency
Added Russian roulette ray termination and fixed ambient weights & measures
Got rtcontrib working and wrote basic man page
Extensive changes to enable rtrace -oTW option for tracking ray contributions
Eliminated revf member from RAY struct, as it was never really needed
Changed findmaterial() so it allows mixed modifiers before material
Made illum work properly with distant source objects
Made it so obstructor cache is only initialized once with parallel processes
Added shadow cache checking to mist scattering for better efficiency.
Continued ANSIfication. There are only bits and pieces left now.
Allow intervening modifiers and aliases in virtual source materials
Added better checking of source material type in weaksrcmod()
Bug fix in source substructuring test and added debug bounds checking
Added shadow casting algorithm and separated occlusion cache routines
Minor fixes to source occlusion cache
Created a source occluder cache to accelerate shadow testing.
Fixed potential bug associated with last change allowing pretextured sources
Allow source modifier to appear earlier in the chain
Added grouping parens to reduce ambiguity warnings.
Fixed wrapping long in source hit testing code
Changed source marking routines not to look past non-instanced objects
Added (void *) cast to realloc calls
First working version of new "mesh" primitive, obj2mesh converter
Replaced inline copyright notice with #include "copyright.h"
Changes and check-in for 3.5 release Includes new source files and modifications not recorded for many years See ray/doc/notes/ReleaseNotes for notes between 3.1 and 3.5 release
changed modifier checking to take most recent definition
added setting of r->robj for rv2.c
bug fix in mist for rays leaving mist volumes
improved scattering calculation accuracy
changed albedo to 3-color parameter
changed mixtures so that mixing material with void is allowed also altered general behavoir so that surfaces without materials are invis.
bug fixes related to M_MIST type and source scattering added MAXSSAMP macro to limit number of scatter samples
fixed bug in srcscatter() for source subsampling
fixed handling of samplendx in srcscatter()
added M_MIST (mist) type and global participating medium
changed spotlight struct so flen<0 for distant sources
added raydist() function
added check for zero-emission sources
bug fixes associated with material mixtures
fixed return value of m_light() for rayshade()
made mod suggested by Bob Clear in use of statistics in direct()
fixed bug in illumblock() and eliminated overcount() due to SGI optimizer screwup
made it so glow could not illuminate through an illum surface
changed glow type so negative radius of influence means NEVER count
changed -di to ! -dv
minor generalizations
added struct pointer to improve the efficiency of direct() slightly
Removed problematic math function declarations
moved sourcehit() from srcsupp.c back to source.c
fixed bug with virtual spotlight sources moved m_light() back to source.c
tightened up test for no contributing sources
added preemptive measure to avoid pow(0,0) call in direct()
updated revision number for release 2.0
changed initial size of arrays used by direct()
made srcsizerat adjust with ray weight
fixed a couple of minor bugs from last change
added source sampling (-ds option)
changed peano() call to multisamp()
changed urand sampling to use Peano curve through n dimensions
fixed source tracing
fixed bugs in virtual sources through prisms
fixed improper creation and testing of spots
fixed problem with urand on multiple dimensions
added test for stupid spotlight directions
added macros for object functions
bug fixes and enhancements
major reorganization using dispatch table for source types
changed direct() so it doesn't call material function redundantly
added virtual sources
moved setting of effective ray length to raytrace.c
added stratified random sampling with urand
changed complaint timing for source aiming failures.
eliminated incorrect summation of probabilities in direct()
fixed small bug in direct() for missed sources
minor cleanup in srcray()
changed handling of matrix transformations with new MAT4 & XF types dynamic allocation of ray transformations with newrayxf() added missing light source vector transformation to m_brdf.c
added warning for srcray() failure in direct()
changed initialization of ofun[]
added casts to free() calls
added check for zero sources to direct()
Added rt field to RAY structure for more accurate z-buffering
added debugging statements
Fixed bug in source ray initialization in direct()
fixed clip test causing problem with light sources
Removed debug statement
fixed bug in illum substitution from behind
fixed bug in counting of small sources
changed location of clip test
Fixed bug in find routine when all contributions zero
Added direct certainty variable (compromise btwn. thresh. & tol.)
Changed starting probability for source testing
Changed back to threshold testing for direct
Changed sorting array to reduce memory exchange time in qsort
Changed direct threshold testing so that it is certain
Minor modifications to direct approximation
reinstated spot and glow types
Changed intens() to bright(), which is better measure of visibility
Efficient approximation to direct component with many sources Glow type changed Spot type eliminated
fixed bug, forgot to set rofx and robx in sourcehit()
changed test in srcray to eliminate coplanar tests
Initial revision
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.