perf: Adjustment to source spread in lobe speculars that accounts for -dj
fix: Issue with textured surfaces and source scattering
perf: Minor optimizations
fix: Improved tracking of reflected vs. transmitted rays for antimatter
feat(rpict,rtrace,rcontrib,rtpict): Hyperspectral rendering (except photon map)
fix: Undid previous adjustment, realizing the original value was for single dielectric interface
perf: Improved exponent for Fresnel approximation
Make sure reflected ray distance is not infinite if there's a reflection
Further improvements to reflected and unreflected distance calcs
Made treatment of mirror reflection color more consistent
Added -orRxX options to rtrace for VR rendering
Made behavior of BRTDfunc more consistent with other materials
Fixed error in effective ray length for purely specular materials
Revised PMAP overcounting macros in pmapmat.h, added one in badcomponent() for overcounted caustics from transferred shadow/ambient rays
Added back ambient ray testing for photon map, which is needed by rcontrib
Had to reinstate ambRayInPmap() macro to avoid over-counting bug
Removed deprecated ambRayInPmap() macro from code
Made axis randomization optional in getperpendicular()
Initial check-in of photon map addition by Roland Schregle
Improved behavior of anisotropic reflections
Fixed virtual distance so as not to undermine ambient calculation
Enabled back face invisibility (-bv0) for transparent/translucent types
Minor style fix
Fixed bug in Fresnel approximation for metals
Bug fixes in Ashikhmin-Shirley and code cleanup
Added ashik2 type for anisotropic Ashikhmin-Shirley BRDF model
Fixed underestimation of reflection in non-metals below -st threshold
Major code reorg, moving mgflib to common and introducing BSDF material
Corrected issues with W-G-M-D weights
Fixed W-G-M-D weighting based on number of trials
Made -ss number of samples more consistent
Fixes to sample generation for new -ss option
Changed -sj option to -ss and added multiple specular sampling
Updated reflection model to match paper by Geisler-Moroder an Duer
Added checknorm() macro to avoid normalization errors with gcc --fast-math
Changed transmittance function normalization back to version 3.5 expression
Added threshold to disable Fresnel approximation for specularities below 1.8%
Extensive changes to enable rtrace -oTW option for tracking ray contributions
Fixed bug in calculation of diffuse transmission on polished "trans" surfaces
Corrected Gaussian reflectance model normalization (cosine factor)
Continued ANSIfication. There are only bits and pieces left now.
Created proper prototypes for function pointers and included missing headers
Added grouping parens to reduce ambiguity warnings.
Improved last Fresnel approx. improvement, which was wrong
Improved Fresnel reflection approximation
Returned old behavior with flat surfaces and improved documentation
Numerous bug fixes in new mesh code
Changed call order for proper function of two-sided, textured surfaces
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
switched to faster table-lookup for sin() and cos() functions
simplified logic slightly
fixed double-counting bug in calculation of specular transmission
changed code to iterate until specular sample succeeds (MAXITER)
bug fix in shadows through trans materials
fixed problem with back side normal computation for ambient()
added texturing to ambient value computation using extambient()
made shadow testing slightly more efficient for trans type
added isflat() macro and effective ray distance for mirror reflection
added -bv option for back face visibility (normally on)
made mixtures work with materials
fixed potential use of unassigned transdist when bright(r->rcol)<0
removed approximation to Fresnel reflection, since the direct component was not being calculated accordingly (BRDF not bidirectional) changed BRDTfunc arguments and operation, fixed one or two bugs there also
portability fixes (removed gcc warnings)
improved specular component calculation
fixed comments in header
fixed normalization of transmitted direct component
fixed screwed-up normalization in sample generation
changed effect of perturbation and roughness on transmission
bug fixes in specular transmission
reinstated random testing of specular threshold
brought isotropic Gaussian model into line using half-vector
reinstated Fresnel factors for roughened surfaces
corrected normalization of light source highlights
fixed bug that caused ambient to be overcounted for polished surf's changed use of Fresnel correction so it will only affect polished surf's
precautionary test before accessing r->ro member
bug fix in distance setting code and transmitted color
changed urand() call to frandom() for specular threshold testing
changed default values and handling of specthresh
finally added sampling of transmitted specular
improved safety measures for grazing angles
added jittering to specular threshold test
added specular jitter and threshold controls
fixed bug in sampling code
changed direct calculation only to widen hightlight for flat surfaces
added specular sampling
updated revision number for release 2.0
changed gaussian transmission to account for texture
made gaussian component bidirectional with addition of cosine term
fixed source tracing
changed initialization of effective length
fixed bug introduced by better trans distance comp.
fixed code for determining when to use trans distance
changed trans types to modify transmitted color and added perturbation to transmitted ray direction
improved setting of rt RAY parameter
Nit-picking for Stardent C-compiler
Added rt field to RAY structure for more accurate z-buffering
fixed inconsistency in treatment of specular transmission
Efficient approximation to direct component with many sources Glow type changed Spot type eliminated
repaired and improved ambient calculation
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.