| 1 | 
========================= | 
| 2 | 
Version 1.2 (Released 3/9/90) | 
| 3 | 
 | 
| 4 | 
Added a -p option to rpict and pfilt to set the pixel aspect ratio for | 
| 5 | 
output.  Instead of giving the absolute x and y resolutions, the user | 
| 6 | 
now gives rpict and pfilt the maximum desired resolution for x and y | 
| 7 | 
and the pixel aspect ratio is used along with the given view to | 
| 8 | 
calculate appropriate values within this boundary.  This makes for | 
| 9 | 
much more natural view specifications.  For example, for a 512x400 | 
| 10 | 
device with a pixel aspect ratio of 1.0, the pfilt command: | 
| 11 | 
 | 
| 12 | 
        pfilt -x 512 -y 400 -p 1 | 
| 13 | 
 | 
| 14 | 
will always produce the appropriate output, regardless of the aspect | 
| 15 | 
ratio of the input picture.  If necessary, the x or y output resolution | 
| 16 | 
will be reduced to accommodate the device's resolution.  A square image | 
| 17 | 
would occupy a region of 400x400 pixels. | 
| 18 | 
 | 
| 19 | 
View shift and lift options were added to the list of standard view | 
| 20 | 
parameters, for specifying views for panoramas and holograms. | 
| 21 | 
 | 
| 22 | 
Rview no longer takes options for x and y resolution, but instead | 
| 23 | 
gets them from the device driver along with the pixel ratio.  This | 
| 24 | 
makes it much easier to change the view aspect ratio (with the vh | 
| 25 | 
and vv parameters). | 
| 26 | 
 | 
| 27 | 
A -z option was added to rpict to write out the distances for each | 
| 28 | 
pixel in an image.  This may be useful for z-buffer operations, and | 
| 29 | 
is used by the new program pinterp, described below. | 
| 30 | 
 | 
| 31 | 
A program called pinterp was added to the burgeoning list of | 
| 32 | 
picture filters and converters.  This program is designed primarily | 
| 33 | 
to interpolate animated frames for walk-throughs of static scenes, | 
| 34 | 
but it has a number of other useful functions besides.  It takes as | 
| 35 | 
its input one or more rendered pictures (with their corresponding z | 
| 36 | 
value files) and desired viewpoint (hopefully not too far afield from | 
| 37 | 
the given images).  Pinterp then takes the input frames and moves the | 
| 38 | 
pixels to their new computed location.  Filling operations make sure | 
| 39 | 
that the final image does not have large unpainted regions. | 
| 40 | 
 | 
| 41 | 
Added smoothing option to gensurf, using bilinear Phong surface normal | 
| 42 | 
interpolation.  Not perfect, but it's better than nothing and permits | 
| 43 | 
the use of fewer polygons to represent smoothly curved surfaces. | 
| 44 | 
 | 
| 45 | 
========================= | 
| 46 | 
Version 1.3 (Released 10/22/90) | 
| 47 | 
 | 
| 48 | 
Added conversion utility for IES (Illuminating Engineering Society) standard | 
| 49 | 
format luminaire data.  The translator, called ies2rad, takes any number | 
| 50 | 
of luminaire data files and creates the necessary Radiance geometric | 
| 51 | 
descriptions and data files and puts them in the specified library location. | 
| 52 | 
A new data format was added to accommodate irregularly-spaced data points. | 
| 53 | 
 | 
| 54 | 
Added rview driver for NeWS for Sun and Silicon Graphics workstations. | 
| 55 | 
This work was done by Isaac Kwo. | 
| 56 | 
 | 
| 57 | 
Fixed oconv for scenes with many overlapping instances (runs faster now). | 
| 58 | 
 | 
| 59 | 
Added consitency checks intended to detect stale octrees without restricting | 
| 60 | 
changes to surface modifiers.  (But you still can't change total number of | 
| 61 | 
objects).  Stale octrees caused some of the strangest behavior... | 
| 62 | 
 | 
| 63 | 
Finally broke down and wrote my own malloc(3) routines.  There is a | 
| 64 | 
CalTech module floating around Berkeley that caused a lot of trouble | 
| 65 | 
for bmalloc(), resulting in about twice the needed memory use. | 
| 66 | 
 | 
| 67 | 
Added translator for Architrion.  Arch2rad uses mapping rules to assign | 
| 68 | 
materials to surfaces from input file.  This is a general method (dreamed | 
| 69 | 
up by Charles Ehrlich) that allows users to assign materials based on | 
| 70 | 
whatever information is available from the CAD file.  See the accompanying | 
| 71 | 
description file on translators in the ray/doc/notes directory. | 
| 72 | 
 | 
| 73 | 
Added fisheye view types to rpict and rview, useful for looking at | 
| 74 | 
entire scenes and for LEEP virtual reality wide field stereo viewer. | 
| 75 | 
 | 
| 76 | 
Wrote xshowtrace, a fun program for watching rays as they are being | 
| 77 | 
traced on an X11 display. | 
| 78 | 
 | 
| 79 | 
Write ra_pr24 for converting between 24-bit Sun rasterfiles and | 
| 80 | 
Radiance pictures.  Perhaps this should be incorporated in ra_pr, as | 
| 81 | 
ra_t8 and ra_t16 should be one program, but the algorithms and memory | 
| 82 | 
requirements are totally different for colormapped images. | 
| 83 | 
 | 
| 84 | 
Added routines for performing 24-bit gamma correction in integer domain, | 
| 85 | 
making programs like ra_pr24 and ra_t16 run faster. | 
| 86 | 
 | 
| 87 | 
========================= | 
| 88 | 
Version 1.4 (Released early 1991?) | 
| 89 | 
 | 
| 90 | 
Fixed bug in IES translator that resulted in the incorrect | 
| 91 | 
interpretation of type B photometric data.  (1.3.1) | 
| 92 | 
 | 
| 93 | 
Added types for using BRDF data:  plasfunc, metfunc, plasdata and metdata. | 
| 94 | 
 | 
| 95 | 
Added interpretation of source color to ies2rad and color corrective | 
| 96 | 
filtering to pfilt.  Reference file used by both is "lamp.tab" in | 
| 97 | 
library directory. | 
| 98 | 
 | 
| 99 | 
Added picture flipping program, pflip, and pattern preprocessing script, | 
| 100 | 
normpat.csh, to the px directory. | 
| 101 | 
 | 
| 102 | 
Fixed bug in ra_pr24 that caused the reversal of red and blue values. | 
| 103 | 
New version accepts both RT_STANDARD and RT_FORMAT_RGB files but | 
| 104 | 
produces only RT_STANDARD rasterfiles as output. | 
| 105 | 
 | 
| 106 | 
Added -m option to xform to change modifiers for surfaces. | 
| 107 | 
 | 
| 108 | 
Wrote replmarks program to replace markers in a Radiance scene file | 
| 109 | 
for light sources or other objects. | 
| 110 | 
 | 
| 111 | 
Added global compilation script, makeall. | 
| 112 | 
 | 
| 113 | 
Fixed calculation of luminance in display programs and gensky to use | 
| 114 | 
white light assumption. | 
| 115 | 
 | 
| 116 | 
Added options and features to pcomb. | 
| 117 | 
 | 
| 118 | 
Added FORMAT= line to all Radiance file headers for improved error | 
| 119 | 
checking and clarity. | 
| 120 | 
 | 
| 121 | 
Added icon bitmaps for rview and x11image under X11 and fixed a bug | 
| 122 | 
that caused x11image to ignore keyboard input. | 
| 123 | 
 | 
| 124 | 
****** COMPATIBILITY CHANGE ******** | 
| 125 | 
Added constant definitions to cal files using ':' instead of '='. | 
| 126 | 
This makes for faster calculations since many more constant | 
| 127 | 
expressions can be reduced at "compile" time. | 
| 128 | 
 | 
| 129 | 
Created glare calculation programs in util directory.  Findglare locates | 
| 130 | 
glare sources, xglaresrc circles sources on a displayed image, and | 
| 131 | 
glarendx computes various glare indices. | 
| 132 | 
 | 
| 133 | 
========================= | 
| 134 | 
Version 2.0 (Released 11/26/91) | 
| 135 | 
 | 
| 136 | 
Added -i option to renderers for computing irradiance rather than | 
| 137 | 
radiance.  Eliminated redundant -oI option from rtrace and added | 
| 138 | 
-I option to replace old -oi.  This hack ignores glass and similar | 
| 139 | 
surfaces during the calculation. | 
| 140 | 
 | 
| 141 | 
Changed icon for x11image (renamed ximage) to miniature bitmap of | 
| 142 | 
picture. | 
| 143 | 
 | 
| 144 | 
Fixed bug in xshowtrace that prevented it from working with twm. | 
| 145 | 
 | 
| 146 | 
Added memory recovery feature to rview so that when it refines | 
| 147 | 
itself out of memory it doesn't quit but instead gives the user | 
| 148 | 
a command line saying "out of memory:", which allows the output to | 
| 149 | 
be written and so forth before quitting or restarting the image. | 
| 150 | 
 | 
| 151 | 
Added -g (gamma correction) option to pvalue. | 
| 152 | 
 | 
| 153 | 
Added the more general BRTDfunc for procedural definition of bidirectional | 
| 154 | 
reflectance-transmittance distribution functions.  Also added transfunc | 
| 155 | 
and transdata types. | 
| 156 | 
 | 
| 157 | 
Changed trans types to modify the color of the transmitted specular | 
| 158 | 
component. | 
| 159 | 
 | 
| 160 | 
Fixed a bug in ra_t16 introduced in the last change which caused | 
| 161 | 
problems for the (default) 16-bit output mode. | 
| 162 | 
 | 
| 163 | 
Improved Monte Carlo sampling for penumbras (-dj) and ambient | 
| 164 | 
super-samples (-as) using stratified random number sequence introduced | 
| 165 | 
by Christophe Schlick at '91 Eurographics workshop on rendering. | 
| 166 | 
 | 
| 167 | 
Wrote falsecolor program to transform images to false color with | 
| 168 | 
value labels. | 
| 169 | 
 | 
| 170 | 
Modified pcomb to allow different output sizes and access to local | 
| 171 | 
pixel neighborhood for specialty filtering applications. | 
| 172 | 
 | 
| 173 | 
Made cone and sphere routines more forgiving of negative radii, | 
| 174 | 
switching between inverted types as necessary and giving warning | 
| 175 | 
messages instead of bombing.  Cones with equal radii are now | 
| 176 | 
silently converted into cylinders.  Hopefully, these changes will | 
| 177 | 
make writing Radiance scene file translators a little bit easier. | 
| 178 | 
Unfortunately, we still bomb for zero-sized cones and spheres. | 
| 179 | 
 | 
| 180 | 
Wrote a program called getbbox that just computes the bounding box | 
| 181 | 
for a set of Radiance scene files.  It is basically a modified version | 
| 182 | 
of oconv that doesn't store objects in memory and doesn't care about | 
| 183 | 
undefined modifiers. | 
| 184 | 
 | 
| 185 | 
Added -a and -l options to pcompos and made both pcompos and pcomb | 
| 186 | 
read from commands as well as files. | 
| 187 | 
 | 
| 188 | 
Substantially improved the accuracy and appearance of the interreflection | 
| 189 | 
calculation by computing gradients at the same time as primary values and | 
| 190 | 
then using a first order interpolation scheme.  This affects the information | 
| 191 | 
stored in ambient files, so old files will have to be thrown away. | 
| 192 | 
 | 
| 193 | 
Added secondary light sources from planar mirror, prismatic and | 
| 194 | 
holographic surfaces.  This created the new options -dr (direct relays) | 
| 195 | 
and -dp (direct presample density) to the renderers.  The document | 
| 196 | 
secsrc.note describes this feature in greater detail. | 
| 197 | 
 | 
| 198 | 
Put many of the routines into a common library. | 
| 199 | 
 | 
| 200 | 
Wrote a replacement for makedist, called mkillum, which generates | 
| 201 | 
light distribtuions and illum descriptions for windows, skylights, | 
| 202 | 
etc. in a much more natural and automatic fashion. | 
| 203 | 
 | 
| 204 | 
Fixed long-standing bug in text routines which caused slanted text | 
| 205 | 
to slant the wrong way! | 
| 206 | 
 | 
| 207 | 
Added -e option to ra_bn, ra_pr, ra_pr24, ra_t8 and ra_t16 programs | 
| 208 | 
for faster and more convenient image conversion w/o using pfilt. | 
| 209 | 
 | 
| 210 | 
****** COMPATIBILITY CHANGE ******** | 
| 211 | 
Finally added contexts to calcomp routines so identical names in | 
| 212 | 
different function files no longer conflict.  Loading of function | 
| 213 | 
files also works automatically without those nasty "key" variables. | 
| 214 | 
New context marks (backquote characters) appear in some local variables | 
| 215 | 
defined in some of the cal files.  This is inconsistent with older | 
| 216 | 
versions, and must be changed back to and underscore or some other legal | 
| 217 | 
character if these files are used by 1.4 and earlier. | 
| 218 | 
 | 
| 219 | 
Wrote ra_tiff program, using Sam Leffler's libtiff package to read | 
| 220 | 
and write 24-bit TIFF images. | 
| 221 | 
 | 
| 222 | 
Wrote ra_ppm program to convert to and from Poskanzer Pixmaps. | 
| 223 | 
 | 
| 224 | 
****** COMPATIBILITY CHANGE ******** | 
| 225 | 
Changed run-length encoding of Radiance pictures to gain better | 
| 226 | 
compression.  Routines can still read old format, but new ra_rgbe | 
| 227 | 
program must be used to write convert images to a more generic format | 
| 228 | 
that can be read by release 1.4 and earlier. | 
| 229 | 
 | 
| 230 | 
Defined U and V parameters in rayinit.cal for more convenient (and | 
| 231 | 
sloppy) use of 2-dimensional textures and patterns on planar surfaces. | 
| 232 | 
 | 
| 233 | 
Beefed up lampcolor program to compute spectral radiance for diffuse | 
| 234 | 
emitters.  This was a previously a pain in the butt and a serious | 
| 235 | 
source of error for scenes not modeled using IES data files. | 
| 236 | 
 | 
| 237 | 
Added version reporting to rpict, rtrace and rview.  Use standalone | 
| 238 | 
-version option. | 
| 239 | 
 | 
| 240 | 
Changed to quincunx initial sampling pattern in rpict.  This should | 
| 241 | 
reduce artifacts from adaptive image sampling at no added cost. | 
| 242 | 
 | 
| 243 | 
Added -rgb option to ra_pr24 to produce RT_FORMAT_RGB files. | 
| 244 | 
 | 
| 245 | 
Added -ds option to renderers to make source sampling more accurate | 
| 246 | 
for large area sources.  It is no longer necessary or recommended | 
| 247 | 
to break large sources (such as windows) into smaller pieces with | 
| 248 | 
gensurf unless their output distribution changes over their surface. | 
| 249 | 
Also, cylinders can now be used as light sources, provided they are not | 
| 250 | 
too short compared to their radius (causing them to be frequently missed). | 
| 251 | 
 | 
| 252 | 
Added -I option to xform to invert surfaces. | 
| 253 | 
 | 
| 254 | 
Added SMLFLT and BIGMEM defines to better control the sizes of data | 
| 255 | 
structures during compilation.  Made their setting relatively | 
| 256 | 
straightforward in makeall and created a separate rmake program to | 
| 257 | 
hold the options generated by makeall. | 
| 258 | 
 | 
| 259 | 
Made the programs more forgiving of machine differences on octrees. | 
| 260 | 
 | 
| 261 | 
****** COMPATIBILITY CHANGE ******** | 
| 262 | 
Fixed incorrect conversion factor between radiance and luminance. | 
| 263 | 
The correct luminous efficacy value is now defined in color.h as | 
| 264 | 
WHTEFFICACY.  It was 470 lumens/watt previously, now it has been | 
| 265 | 
corrected to 179 lumens/watt.  This affects the absolute values | 
| 266 | 
in the output of programs like gensky and ies2rad.  Thus, these | 
| 267 | 
programs should be rerun to generate corrected files for this | 
| 268 | 
version of Radiance.  Also, the new versions of display programs | 
| 269 | 
like ximage will give different values with the 'l' command on  | 
| 270 | 
an image generated with 1.4 and previous releases.  The following | 
| 271 | 
alias may be used to fix the radiance values in a picture generated | 
| 272 | 
using previous versions of gensky and ies2rad: | 
| 273 | 
 | 
| 274 | 
alias pfixabs '( echo EXPOSURE=.381 ; cat \!:1 ) > \!:1.$$ ; mv \!:1.$$ \!:1' | 
| 275 | 
 | 
| 276 | 
Improved accuracy of glass material type and added option for | 
| 277 | 
user-supplied index of refraction. | 
| 278 | 
 | 
| 279 | 
Added sgi to rt/Makefile and px/Makefile SPECIAL category for compiling | 
| 280 | 
Isaac Kwo's NeWS driver for rview and the glimage program by Jim Winget. | 
| 281 | 
Also fixed various compile problems for the SGI. | 
| 282 | 
 | 
| 283 | 
Improved handling of alternate scanline orientations.  The programs | 
| 284 | 
pflip and protate (used to be prot) now affect the scanline ordering | 
| 285 | 
of the file without messing up the view parameters for programs like | 
| 286 | 
pinterp and findglare. | 
| 287 | 
 | 
| 288 | 
========================== | 
| 289 | 
Version 2.1 (Released 5/20/92) | 
| 290 | 
 | 
| 291 | 
****** COMPATIBILITY CHANGE ******** | 
| 292 | 
Changed function specifications to allow the use of expressions as | 
| 293 | 
well as variables in scene files.  Use of this feature may result | 
| 294 | 
in some loss of backwards compatibility as older software does not | 
| 295 | 
support it. | 
| 296 | 
 | 
| 297 | 
Added makeall option for NeXT machine and changed code to suit. | 
| 298 | 
 | 
| 299 | 
****** COMPATIBILITY CHANGE ******** | 
| 300 | 
Added off-specular sampling and anisotropic materials plastic2, | 
| 301 | 
metal2 and trans2.  The old options -sp, -sj, -st and -p have | 
| 302 | 
been renamed to -ps, -pj, -pt and -pa, respectively.  New options | 
| 303 | 
-sj and -st have been introduced. | 
| 304 | 
 | 
| 305 | 
Improved ray intersection calculations using -DSMLFLT option by | 
| 306 | 
increasing epsilon used in tests.  This eliminates most of the | 
| 307 | 
errors that occured when this compile option was used in version 2.0. | 
| 308 | 
 | 
| 309 | 
Added capability to gensurf to read height or point data from a | 
| 310 | 
file.  This makes it more convenient to make (optionally smoothed) | 
| 311 | 
landscapes from recorded measurements and the like. | 
| 312 | 
 | 
| 313 | 
Corrected irradiance gradient calculation.  New formula predicts | 
| 314 | 
gradient better and thus reduces artifacts in indirect calculation. | 
| 315 | 
 | 
| 316 | 
Modified replmarks to accept multiple markers. | 
| 317 | 
 | 
| 318 | 
Added -aI and -aE options to read ambient include/exclude materials | 
| 319 | 
from a file. | 
| 320 | 
 | 
| 321 | 
Reduced effect of light leaks during interreflection calculation. | 
| 322 | 
 | 
| 323 | 
Added -ang option to gensky for giving solar angles explicitly. | 
| 324 | 
 | 
| 325 | 
Added ability of "view" command within rview to accept view options. | 
| 326 | 
 | 
| 327 | 
Fixed a long-standing bug in gensky that caused it to report | 
| 328 | 
inaccurate values for the ground ambient level.  Since the dayfact | 
| 329 | 
script uses this value in calculating its results, version 2.0 will | 
| 330 | 
be in error (by as much as 30 or 40%). | 
| 331 | 
 | 
| 332 | 
Fixed a bug in the reflectance normalization for isotropic and | 
| 333 | 
anisotropic Gaussian highlights that caused too much light to | 
| 334 | 
be reflected near grazing angles.  Much thanks to the folks at | 
| 335 | 
Ohio State University (Steve Spencer and Kevin Simon) who | 
| 336 | 
pointed this out to me! | 
| 337 | 
 | 
| 338 | 
Fixed bug in xshowtrace introduced in 2.0.  It absolutely didn't work | 
| 339 | 
after my most recent changes to image.c.  (Sorry about that!) | 
| 340 | 
 | 
| 341 | 
Finally fixed shortcoming of view reading routines so they can get | 
| 342 | 
the views from pictures created with absolute program paths | 
| 343 | 
(eg. /usr/local/bin/rpict).  This affects programs like | 
| 344 | 
xshowtrace and glare, as well as the recover option of rpict. | 
| 345 | 
 | 
| 346 | 
Fixed isotropic Gaussian distribution (highlights for types "metal" | 
| 347 | 
and "plastic") to make them more accurate and bring them into line | 
| 348 | 
with the new anisotropic Gaussian models ("metal2" and "plastic2"). | 
| 349 | 
This may affect the appearance of some hightlights. | 
| 350 | 
 | 
| 351 | 
Added -H and -R options to pvalue to control resolution strings | 
| 352 | 
and color ordering. | 
| 353 | 
 | 
| 354 | 
Fixed byte ordering for 24-bit color displays in ximage. | 
| 355 | 
 | 
| 356 | 
========================== | 
| 357 | 
Version 2.2 (No official release) | 
| 358 | 
 | 
| 359 | 
Made more fixes in rview and ximage for different display hardware. | 
| 360 | 
Philip Thompson and Peter Apian helped with suggestions and testing. | 
| 361 | 
 | 
| 362 | 
Fixed bug in -e option of xform that kept it from fully expanding | 
| 363 | 
some scene files. | 
| 364 | 
 | 
| 365 | 
Added proportional text spacing (-s option for psign, new argument | 
| 366 | 
for text primitives).  Added antialiasing (3x3 super-sampling) to psign. | 
| 367 | 
 | 
| 368 | 
Added code in display drivers to read environment variable called | 
| 369 | 
"GAMMA" to set gamma correction for different monitors.  See notes in | 
| 370 | 
this directory on gamma_corr. | 
| 371 | 
 | 
| 372 | 
Added CC defines to all the Rmakefiles so that other C compilers may be | 
| 373 | 
used consistently. | 
| 374 | 
 | 
| 375 | 
Added -x and -y options to psign to control output dimensions directly. | 
| 376 | 
 | 
| 377 | 
Decreased value of FTINY with SMLFLT option once again in an attempt to | 
| 378 | 
further reduce errors. | 
| 379 | 
 | 
| 380 | 
Reinstated rtrace's capability to produce 32-bit_rle_rgbe directly. | 
| 381 | 
 | 
| 382 | 
Added -S and -o options to rpict for more flexible production of | 
| 383 | 
multiple images and slave operation.  Rpict will also accept a recover | 
| 384 | 
file name the same as the output file for more convenient recovery. | 
| 385 | 
 | 
| 386 | 
Added ra_ps program to translate Radiance picture into PostScript file. | 
| 387 | 
 | 
| 388 | 
****** COMPATIBILITY CHANGE ******** | 
| 389 | 
Made ambient files machine-independent so they can be conveniently moved | 
| 390 | 
and reused on any system.  Also added coordinated reads and writes so | 
| 391 | 
that multiple processes may use the same ambient file at the same time. | 
| 392 | 
Along with the -S option of rpict, this should greatly facilitate parallel | 
| 393 | 
rendering.  The new ambient file format also contains a header that | 
| 394 | 
can be read by getinfo.  Lookamb now has a -h option. | 
| 395 | 
 | 
| 396 | 
Created rpiece program for parallel rendering of a single image on | 
| 397 | 
multiple processors and workstations. | 
| 398 | 
 | 
| 399 | 
Eliminated star artifacts in mkillum distribution patterns by improving | 
| 400 | 
data interpolation method.  Improved ability of mkillum to correctly | 
| 401 | 
sample non-axis-aligned polygons. | 
| 402 | 
 | 
| 403 | 
Added -s and -o options to pcompos for slightly more convenient use | 
| 404 | 
of the -a option.  Also eliminated incompatibility between -a and -y | 
| 405 | 
options. | 
| 406 | 
 | 
| 407 | 
Fixed bug in spotlight sources that caused incorrect boundaries to be | 
| 408 | 
cast by mirrors. | 
| 409 | 
 | 
| 410 | 
Fixed rounding of scanlines in ra_pr24 to 16-bit boundaries. | 
| 411 | 
 | 
| 412 | 
Added @file and $envar expansion capabilities to rtrace, rpict and | 
| 413 | 
rview.  This is primarily to overcome the 128-byte command limit of | 
| 414 | 
MS-DOS. | 
| 415 | 
 | 
| 416 | 
Added -r option to gensky for the direct specification of solar | 
| 417 | 
brightness. | 
| 418 | 
 | 
| 419 | 
Added -oN option to rtrace for reporting unperturbed surface normals, | 
| 420 | 
and changed -on to report perturbed surface normals (used to be | 
| 421 | 
unperturbed). | 
| 422 | 
 | 
| 423 | 
Changed -di switch of rtrace, rpict and rview to -dv and changed | 
| 424 | 
sense.  Thus, instead of having a boolean variable called "source | 
| 425 | 
invisibility" that is normally off, there is now a boolean variable | 
| 426 | 
called "source visibility" that is normally on.  More logical, and | 
| 427 | 
also allows for the addition of -di and -de options for direct | 
| 428 | 
include and exclude in the future. | 
| 429 | 
 | 
| 430 | 
Fixed bug in image.c associated with -DSMLFLT that caused angular | 
| 431 | 
fisheye views to repeat the center pixel in the middle of an image. | 
| 432 | 
 | 
| 433 | 
Modified colordata and colorpict to take functions of a single variable | 
| 434 | 
instead of always requiring functions of three variables (red, green, blue). | 
| 435 | 
 | 
| 436 | 
Modified objview script to work in original object coordinates. | 
| 437 | 
 | 
| 438 | 
Added -P and -PP options to rpict and rtrace for persistent and parallel | 
| 439 | 
processing, respectively.  The -P option is most useful with the -fr | 
| 440 | 
option of pinterp, since rtrace doesn't have to be restarted for every | 
| 441 | 
frame in a long animation sequence.  The -PP option is most useful when | 
| 442 | 
running rpiece on a multiprocessing platform, to get acceptable memory | 
| 443 | 
sharing without the hassle of threaded code. | 
| 444 | 
 | 
| 445 | 
Changed signal handling in rpict so CONT is now used to elicit | 
| 446 | 
asynchronous progress reports.  ALRM now causes rpict to die | 
| 447 | 
unconditionally. | 
| 448 | 
 | 
| 449 | 
Created executive program called "rad" to run oconv, rview, rpict and | 
| 450 | 
pfilt automatically.  This should greatly simplify use of Radiance and | 
| 451 | 
reduce the problems associated with poorly chosen parameter values. | 
| 452 | 
 | 
| 453 | 
Added slave driver to rview to make it easier to run from other | 
| 454 | 
graphics applications.  (Thanks to Chris Nicholas of Sun for the | 
| 455 | 
suggestion.) | 
| 456 | 
 | 
| 457 | 
Fixed error in ies2rad.c and source.cal that caused incorrect | 
| 458 | 
interpretation of asymmetric Type C (A) fixture photometry.  Note the | 
| 459 | 
new definition of src_phi in source.cal.  This change may affect | 
| 460 | 
manually entered photometry. | 
| 461 | 
 | 
| 462 | 
Added '@' command to ximage to adjust exposure based on Blackwell's | 
| 463 | 
model of human contrast sensitivity. | 
| 464 | 
 | 
| 465 | 
Added functions to pcomb to get the ray origin and direction from the | 
| 466 | 
input picture view specifications. | 
| 467 | 
 | 
| 468 | 
Removed Fresnel approximation to specular reflection from Radiance materials, | 
| 469 | 
since the direct component was not being computed correctly.  This | 
| 470 | 
may have a slight affect on the appearance of surfaces, but it can't be | 
| 471 | 
helped. | 
| 472 | 
 | 
| 473 | 
****** COMPATIBILITY CHANGE ******** | 
| 474 | 
Changed the definition of the BRTDfunc type so as to be more general and to | 
| 475 | 
allow for different reflection properties depending on what side of the | 
| 476 | 
surface the ray is incident.  Any scene and function files using the | 
| 477 | 
old definition of BRTDfunc must be updated.   Implemented the approximation | 
| 478 | 
used in Window 4 to reflection from coated glazings in lib/glazing.cal. | 
| 479 | 
 | 
| 480 | 
Added -ti, -te, -tI and -tE options to rtrace for including or | 
| 481 | 
excluding surfaces from those reported by the trace output specifier. | 
| 482 | 
 | 
| 483 | 
Fixed long-standing bug in pfilt gaussian filter option, which caused | 
| 484 | 
the image to be excessively defocused. | 
| 485 | 
 | 
| 486 | 
Added -m option to pfilt for image sample smoothing.  This helps get rid | 
| 487 | 
of some of the "speckle" associated with specular sampling. | 
| 488 | 
 | 
| 489 | 
Made -ovt* compatible with -I option of rtrace. | 
| 490 | 
 | 
| 491 | 
Changed ximage to work with multiple pictures.  It now opens one window | 
| 492 | 
for each picture file. | 
| 493 | 
 | 
| 494 | 
Fixed error reporting in rpict for most machines.  (Many thanks to Peter | 
| 495 | 
Apian-Bennewitz for his help and suggestions.) | 
| 496 | 
 | 
| 497 | 
****** COMPATIBILITY CHANGE ******** | 
| 498 | 
Added intermediate sky to gensky and changed its options slightly. | 
| 499 | 
The new gensky uses a new version of skybright.cal, so any old | 
| 500 | 
gensky output in files must be recomputed with the new gensky before | 
| 501 | 
it will work.  (A "skybright: undefined" error should clue you in.) | 
| 502 | 
 | 
| 503 | 
========================== | 
| 504 | 
Version 2.3 (Released 11/16/93) | 
| 505 | 
 | 
| 506 | 
No changes from the above, but the official release was designated 2.3 | 
| 507 | 
to avoid confusion with previous beta releases of 2.2. | 
| 508 | 
 | 
| 509 | 
========================== | 
| 510 | 
Version 2.4 (Released 4/20/94) | 
| 511 | 
 | 
| 512 | 
Philip Thompson of MIT added use of a radiance.gamma resource to ximage | 
| 513 | 
and we added it to the x11 driver of rview as well.  This is an alternative | 
| 514 | 
to setting the GAMMA environment variable for X11 servers. | 
| 515 | 
 | 
| 516 | 
Added MLIB variable to Rmakefile's for defining alternate math libraries. | 
| 517 | 
I discovered that the default version of sqrt() under IRIX is a whole | 
| 518 | 
lot slower than what's in the libfastm.a library, and not much better. | 
| 519 | 
This can make a significant difference to the renderers, since sqrt() | 
| 520 | 
is relied on quite a bit, and it's assumed to be fast. | 
| 521 | 
 | 
| 522 | 
Added =SS option to pcompos to allow anchor points for image positions | 
| 523 | 
other than the lower left corner. | 
| 524 | 
 | 
| 525 | 
Wrote raddepend script for finding dependencies in scene files. | 
| 526 | 
 | 
| 527 | 
Fixed a bug in mkillum that caused it to incorrectly sample ring sources. | 
| 528 | 
 | 
| 529 | 
Finally allowed mixtures to work with materials, thanks to the encouragement | 
| 530 | 
and advice of Peter Apian-Bennewitz. | 
| 531 | 
 | 
| 532 | 
Wrote a triangular mesh converter, called tmesh2rad.  I defined my own | 
| 533 | 
format, since I wasn't too familiar with anyone else's format and I | 
| 534 | 
wanted to support some additional possibilities (most notably patterns). | 
| 535 | 
 | 
| 536 | 
Added initial "#?RADIANCE" line to headers to simplify Radiance file | 
| 537 | 
identification by programs used to magic numbers. | 
| 538 | 
 | 
| 539 | 
Created a translator for Wavefront .obj files, called obj2rad.  It uses | 
| 540 | 
the same type of mapping rules as arch2rad. | 
| 541 | 
 | 
| 542 | 
============================= | 
| 543 | 
Version 2.5 (Released 6/26/95) | 
| 544 | 
 | 
| 545 | 
Wrote translators to and from the new MGF (Materials and Geometry | 
| 546 | 
Format) specification. | 
| 547 | 
 | 
| 548 | 
Changed color conversion routines to make light source colors (from | 
| 549 | 
lamp.tab) consistent with uniform white light standard. | 
| 550 | 
 | 
| 551 | 
Fixed a bug that caused very small local sources not to be sampled | 
| 552 | 
at all! | 
| 553 | 
 | 
| 554 | 
Added the ability for rview to read commands from its standard input | 
| 555 | 
under X11. | 
| 556 | 
 | 
| 557 | 
****************** COMPATIBILITY CHANGE *********************** | 
| 558 | 
Changed GAMMA environment variable to DISPLAY_GAMMA, to bring it in | 
| 559 | 
line with the xli program, so users don't have to give two variables | 
| 560 | 
for the same value! | 
| 561 | 
 | 
| 562 | 
Added -t (touch) option to rad, to make it easier to deal with minor | 
| 563 | 
changes to input files. | 
| 564 | 
 | 
| 565 | 
Created graphical user interface to rad, called trad.  Based on Tcl/Tk, | 
| 566 | 
this should finally get people to start using this program! | 
| 567 | 
 | 
| 568 | 
Added -vo and -va (view fore and view aft) clipping plane options to | 
| 569 | 
Radiance view parameters. | 
| 570 | 
 | 
| 571 | 
Added -bv option for (opaque) back face visibility control. | 
| 572 | 
 | 
| 573 | 
Added -q, -a and -e options to pinterp, and made it faster.  (These | 
| 574 | 
should be big improvements.) | 
| 575 | 
 | 
| 576 | 
Created tabfunc program for converting data tables to functional | 
| 577 | 
language. | 
| 578 | 
 | 
| 579 | 
Wrote mgf2meta program to convert MGF data to line drawing. | 
| 580 | 
 | 
| 581 | 
Updated ies2rad program to interpret MGF geometry in IESNA-LM-63-1995 | 
| 582 | 
files. | 
| 583 | 
 | 
| 584 | 
Added sorting of ambient values according to access times to improve | 
| 585 | 
reference locality for better virtual memory performance. | 
| 586 | 
 | 
| 587 | 
Added source solid angle argument to BRTD functions for averaging | 
| 588 | 
values. | 
| 589 | 
 | 
| 590 | 
Wrote genclock program to create an analog clock. | 
| 591 | 
 | 
| 592 | 
Fixed a bug for bitmaps using hexbit4x1.fnt with brighttext, which | 
| 593 | 
caused thin lines to appear. | 
| 594 | 
 | 
| 595 | 
============================= | 
| 596 | 
Version 3.0 (Released 6/19/96) | 
| 597 | 
 | 
| 598 | 
Added comments to data and font files. | 
| 599 | 
 | 
| 600 | 
Changed behavior of mirror to allow void alternate material. | 
| 601 | 
 | 
| 602 | 
Added cylindrical view type for Quicktime VR authoring and other | 
| 603 | 
interesting applications. | 
| 604 | 
 | 
| 605 | 
Increased default rtrace parameters for more accurate calculations when | 
| 606 | 
options are not specified. | 
| 607 | 
 | 
| 608 | 
Added RAWFILE and ZFILE variables to rad for saving raw picture file and | 
| 609 | 
Z (distance) information from rpict. | 
| 610 | 
 | 
| 611 | 
Ported trad for newer (4.0) version of Tk (wish).  Thanks to Bob Lipman | 
| 612 | 
of NIST for helping me track down the changes. | 
| 613 | 
 | 
| 614 | 
Added -B option to pinterp to blur multiple views into a single image, | 
| 615 | 
useful for motion blur and depth of field simulation. | 
| 616 | 
 | 
| 617 | 
Created pdfblur script and modified vwright to automate depth-of-field | 
| 618 | 
simulation with pinterp. | 
| 619 | 
 | 
| 620 | 
Added -c option for color PostScript output from ra_ps, and made both | 
| 621 | 
this program and psmeta produce EPS-compatible files. | 
| 622 | 
 | 
| 623 | 
Created macbethcal program for calibrating color image scanners and | 
| 624 | 
film recorders or printers using the Macbeth ColorChecker chart. | 
| 625 | 
 | 
| 626 | 
Created ra_xyze program for converting to and from new Radiance CIE XYZE | 
| 627 | 
picture type and calibrating monitor colors.  Modified Radiance picture | 
| 628 | 
filters (pcompos, pflip, pcomb, pinterp, protate and pfilt) to handle | 
| 629 | 
new picture type without complaint. | 
| 630 | 
 | 
| 631 | 
Added automatic ambient value computation to improve accuracy of results | 
| 632 | 
no matter what -av value is given.  (Only works for -ab > 0.)  This was | 
| 633 | 
a fairly obvious optomization I should have thought of ages ago. | 
| 634 | 
(Default is old behavior -- -aw option puts in new code.) | 
| 635 | 
 | 
| 636 | 
Modified interreflection calculation to take textures (surface normal | 
| 637 | 
perturbations) into account in indirect illumination.  This should | 
| 638 | 
improve the accuracy and appearance of textured surfaces in shadowed | 
| 639 | 
regions. | 
| 640 | 
 | 
| 641 | 
Added -T option to rpiece to limit execution time. | 
| 642 | 
 | 
| 643 | 
Fixed bug in mixtext type introduced in last release -- caused improper | 
| 644 | 
calculation of mixed modifiers. | 
| 645 | 
 | 
| 646 | 
Added basic options and functionality for participating media.  New material | 
| 647 | 
type "mist" and rendering options -me, -ma, -mg and -ms.  This should permit | 
| 648 | 
the modeling of visible light beams, uniform smoke, fog, and some types | 
| 649 | 
of clouds. | 
| 650 | 
 | 
| 651 | 
Added -o option to ximage to control output of 't' command (and | 
| 652 | 
middle mouse button).  This adds the ability to produce pixel | 
| 653 | 
position, radiance value and luminance.  The default action is | 
| 654 | 
the same as before. | 
| 655 | 
 | 
| 656 | 
Created pmblur script to generate views for camera motion blur in | 
| 657 | 
walk-through animations. | 
| 658 | 
 | 
| 659 | 
Added "inpic" variable to picture.cal for determining when the edge | 
| 660 | 
of a non-repeating image has been reached.  Use with mixfunc primitive. | 
| 661 | 
 | 
| 662 | 
Created ranimate program to control walk-through and dynamic animations | 
| 663 | 
on multiple hosts. | 
| 664 | 
 | 
| 665 | 
Fixed problem with antimatter type referring to final definition of | 
| 666 | 
material names.  Now, it uses the most recent ones. | 
| 667 | 
 | 
| 668 | 
Added an MC macro for true Monte Carlo sampling rather than the default | 
| 669 | 
Quasi Monte Carlo.  To enable, add -DMC to the OPT= line in rmake. | 
| 670 | 
 | 
| 671 | 
Fixed bug in pfilt -m option that caused floating point exceptions on | 
| 672 | 
Alphas. | 
| 673 | 
 | 
| 674 | 
Wrote xyzimage script for X11 display of XYZE and corrected RGBE pictures. | 
| 675 | 
Takes the same options as ximage with an added -p option, and checks | 
| 676 | 
the environment variable DISPLAY_PRIMARIES for setting of monitor | 
| 677 | 
primaries.  (See the ra_xyze manual page for further explanation.) | 
| 678 | 
 | 
| 679 | 
Made colorpict's use much less memory by storing data in RGBE format | 
| 680 | 
rather than floating point (takes 1/3 the space).  This should help with | 
| 681 | 
large image patterns. | 
| 682 | 
 | 
| 683 | 
At the insistence of Henrik Wann Jensen, changed the specular sampling | 
| 684 | 
code so that very rough specular surfaces will sample more truly, | 
| 685 | 
eliminating some strange mirror appearances evident using the old | 
| 686 | 
method. | 
| 687 | 
 | 
| 688 | 
Added drawing of small and skinny light sources so rpict won't miss | 
| 689 | 
these from inadequate image sampling.  The method used may not work | 
| 690 | 
perfectly for warped views (-vta, -vth and -vtc) having long, | 
| 691 | 
cylindrical light sources.  (Rob Shakespeare, take note!) | 
| 692 | 
 | 
| 693 | 
Added corner rounding to genprism command (-r option). | 
| 694 | 
 | 
| 695 | 
Changed mixtures so that mixing material with void is allowed, allowing | 
| 696 | 
for opacity maps.  Also altered general behavior so that surfaces | 
| 697 | 
without materials in their modifier list are invisible, not only | 
| 698 | 
surfaces with void modifiers. | 
| 699 | 
 | 
| 700 | 
****************** COMPATIBILITY CHANGE *********************** | 
| 701 | 
The behavior of xform has been changed to make object library | 
| 702 | 
organization and usage simpler.   | 
| 703 | 
        1)  The RAYPATH directories are searched for matching file names. | 
| 704 | 
        2)  Filenames beginning with '.', '/' or '~' do not result in searches. | 
| 705 | 
        3)  Xform performs a chdir to the found file's directory, obviating | 
| 706 | 
                the need for peculiar inclusion names in subdirectories. | 
| 707 | 
        4)  The array option (-a) now works when xform reads from stdin. | 
| 708 | 
        5)  The expand option (-e) is now the default -- -c gets | 
| 709 | 
                back old behavior. | 
| 710 | 
 | 
| 711 | 
============================= | 
| 712 | 
Version 3.1 (Released 7/24/97) | 
| 713 | 
 | 
| 714 | 
Changed gensky so it will accept hour specifications as HH:MM, with | 
| 715 | 
designations for standard North American and European time zones. | 
| 716 | 
 | 
| 717 | 
Increased buffer size for in-line commands from 512 to 1024. | 
| 718 | 
 | 
| 719 | 
Added T(n), S(n), WE and pa(n) functions and constants to pcomb. | 
| 720 | 
 | 
| 721 | 
Created histo utility to compute 1-dimensional histograms from data files. | 
| 722 | 
 | 
| 723 | 
Created pacuity, pveil and psquish scripts (later combined in "pcond"): | 
| 724 | 
 | 
| 725 | 
o       The pacuity program takes a Radiance picture and defocuses it | 
| 726 | 
        in places where the human eye loses resolution.  Unless the | 
| 727 | 
        scene contains very low luminances (below .1 cd/m^2 or so), | 
| 728 | 
        this will not have an appreciable effect.  The output can then | 
| 729 | 
        be adjusted according to the Ferwerda, Pattanaik and Shirley | 
| 730 | 
        tone mapping function using pcomb with the file | 
| 731 | 
        src/cal/cal/ferwerda.cal.  (See the header comments therein.) | 
| 732 | 
 | 
| 733 | 
o       The pveil program finds sources of glare in an image and adds | 
| 734 | 
        a corresponding amount of background luminance surrounding each | 
| 735 | 
        glare source according to the adaptation response of the human | 
| 736 | 
        eye.  This has the effect of reducing contrast around glare | 
| 737 | 
        sources. | 
| 738 | 
 | 
| 739 | 
o       The psquish program is probably the most useful of the three, | 
| 740 | 
        and must be applied after the other two if the others are | 
| 741 | 
        used.  With the -a option, psquish uses the human visual | 
| 742 | 
        response to compress the dynamic range of an image to fit within | 
| 743 | 
        the limited dynamic range of a display (assumed to go from 1 to | 
| 744 | 
        100 cd/m^2), and also reduces color visibility in pictures with | 
| 745 | 
        low light levels (below 1 cd/m^2).  Without the -a option, | 
| 746 | 
        psquish simply does the best it can to fit a picture's dynamic | 
| 747 | 
        range into what can be readily displayed, without regard to | 
| 748 | 
        human visual response.  This has the effect of making problem | 
| 749 | 
        scenes viewable, such as indoor scenes with windows looking out | 
| 750 | 
        to bright exteriors. | 
| 751 | 
 | 
| 752 | 
Created pcond program, which combines pacuity, pveil and psquish in a | 
| 753 | 
more efficient, robust package.  (See man page for details.) | 
| 754 | 
 | 
| 755 | 
Renamed Perlin noise function partial functions, noise3a(), noise3b() | 
| 756 | 
and noise3c() to noise3x(), noise3y() and noise3z().  Added backward | 
| 757 | 
compatibility defines to rayinit.cal so nothing should be broken. | 
| 758 | 
 | 
| 759 | 
Fixed double-counting bug in calculation of specular transmission of | 
| 760 | 
light sources for trans type.  This might have caused unrealistically | 
| 761 | 
high estimates for illumination beneath trans surfaces with non-zero | 
| 762 | 
roughnesses when the interreflection calculation was used (-ab 1). | 
| 763 | 
 | 
| 764 | 
Added routines for reading and writing separate RGB files in pvalue. | 
| 765 | 
Also added -pP (where P is one of 'R', 'G' or 'B' upper or lower case) | 
| 766 | 
and -s option to skip specified number of bytes on header.  Finally, | 
| 767 | 
added a -n option for non-interleaved RGB input and output. | 
| 768 | 
 | 
| 769 | 
Fixed obscure bug in rcalc that caused it to return "Bad call to | 
| 770 | 
argument!" for certain combinations of function and output channel | 
| 771 | 
definitions. | 
| 772 | 
 | 
| 773 | 
Added "-e auto" and "-e human" options to ximage(1) and corresponding | 
| 774 | 
'a' and 'h' commands to perform dynamic range compression similar to | 
| 775 | 
pcond(1). | 
| 776 | 
 | 
| 777 | 
============================== | 
| 778 | 
Version 3.4 (Released 1/28/02) | 
| 779 | 
 | 
| 780 | 
Fixed bug in rpiece that caused it to incorrectly compute -vs and -vl | 
| 781 | 
(view shift and lift) offsets.  (Included in 3.1.1.) | 
| 782 | 
 | 
| 783 | 
Fixed bug in xform handling mist's with > 5 real arguments. | 
| 784 | 
(Included in 3.1.1.) | 
| 785 | 
 | 
| 786 | 
Fixed bug in mist handling routines that caused some incorrect calculations | 
| 787 | 
for distant sources.  (Included in 3.1.1.) | 
| 788 | 
 | 
| 789 | 
Added ability for lam utility to read from commands. | 
| 790 | 
 | 
| 791 | 
Created vwrays command to compute ray origins and directions for specified | 
| 792 | 
views or pictures. | 
| 793 | 
 | 
| 794 | 
Changed rtrace behavior to send bogus record when ray direction is zero. | 
| 795 | 
(Before, it only flushed values with no corresponding record.)  This | 
| 796 | 
change was needed to facilitate its use with the new vwrays program. | 
| 797 | 
 | 
| 798 | 
Modified ies2rad so that it no longer produces glow sources for the sides | 
| 799 | 
of objects, which caused unnatural dark bands near the ceilings of | 
| 800 | 
direct/indirect installations.  (Included in 3.1.4.) | 
| 801 | 
 | 
| 802 | 
Fixed bug in rpiece that caused the -pa option to fail.  (Included in 3.1.2.) | 
| 803 | 
 | 
| 804 | 
Made ximage emphasize pixels in the selected region for the 'a' and 'h' | 
| 805 | 
commands to adjust the exposure using histogram compression. | 
| 806 | 
(Included in 3.1.4.) | 
| 807 | 
 | 
| 808 | 
Fixed bug in trad which caused it to fail when there were tabs in the input. | 
| 809 | 
(Included in 3.1.3.) | 
| 810 | 
 | 
| 811 | 
Fixed bug in pcond that caused it to white-out borders of some fisheye views. | 
| 812 | 
(Included in 3.1.3.) | 
| 813 | 
 | 
| 814 | 
Added facility to ra_tiff to read and write new LogLuv high dynamic-range | 
| 815 | 
image formats. | 
| 816 | 
 | 
| 817 | 
Changed ambient value averaging in rendering programs (-aw option) to use | 
| 818 | 
geometric mean rather than arithmetic mean, which tended to arrive at | 
| 819 | 
too-high estimates and cause runaway calculations.  (Included in 3.1.4.) | 
| 820 | 
 | 
| 821 | 
Added -g, -p, -m and -d options for gamma, paper size, margins and dpi | 
| 822 | 
to the ra_ps program.  This allows for much better control over output | 
| 823 | 
to PostScript printers. | 
| 824 | 
 | 
| 825 | 
Fixed compiles for AIX -- select() incompatibility and macro conflicts. | 
| 826 | 
(Included in 3.1.6.) | 
| 827 | 
 | 
| 828 | 
Increased table sizes to allow up to 4 million primitives when -DBIGMEM | 
| 829 | 
is defined, provided there's enough virtual memory to hold them! | 
| 830 | 
 | 
| 831 | 
Fixed error in viewloc() for computing view locations for cylindrical views. | 
| 832 | 
 | 
| 833 | 
Wrote rholo, rhcopy, rhpict, and rhoptimize programs for holodeck | 
| 834 | 
creation, display, and manipulation.  This is a much more powerful way | 
| 835 | 
to view a model than rview, though it lacks many of the utility commands. | 
| 836 | 
 | 
| 837 | 
Added the ability to separate concatanated animation frames using ra_rgbe. | 
| 838 | 
This output facility of rpict was previously useless because nothing could | 
| 839 | 
get anything past the first frame. | 
| 840 | 
 | 
| 841 | 
Wrote compamb program to compute a good ambient value for a rad input file. | 
| 842 | 
Using this script is preferable to setting the -aw option of rpict, which | 
| 843 | 
seems to result in splotchy artifacts in many situations. | 
| 844 | 
 | 
| 845 | 
Changed rad so it doesn't use the -aw option, which was causing some rather | 
| 846 | 
annoying artifacts.  (Added as patch to 3.1.8.) | 
| 847 | 
 | 
| 848 | 
Modified ranimate to change directories before running transfer or archive | 
| 849 | 
commands. | 
| 850 | 
 | 
| 851 | 
Added -pm option to rpict to perform jittered motion blurring. | 
| 852 | 
 | 
| 853 | 
Created phisto script and added -I option to pcond for computing | 
| 854 | 
multiple, identical exposures. | 
| 855 | 
 | 
| 856 | 
Fixed time zone specifications in gensky.  (Added as patch to 3.1.9.) | 
| 857 | 
 | 
| 858 | 
Fixed bug in mixture functions that caused erroneous modifier loops. | 
| 859 | 
(Added as patch to 3.1.10.) | 
| 860 | 
 | 
| 861 | 
Wrote glrad program for interactive display of Radiance scenes using OpenGL. | 
| 862 | 
Modified objview program to use rad and glrad for rendering. | 
| 863 | 
 | 
| 864 | 
Changed the way ray weights are computed for participating media (including | 
| 865 | 
dielectrics) so they more accurately reflect a ray's contribution, avoiding | 
| 866 | 
some artifacts with unsealed dielectric objects and the ambient calculation. | 
| 867 | 
 | 
| 868 | 
Fixed problem with dielectric materials with textures where rays that should | 
| 869 | 
have penetrated or reflected do the opposite. | 
| 870 | 
 | 
| 871 | 
Created ra_hexbit program to generate bitmap files for use with hexbit4x1.fnt. | 
| 872 | 
 | 
| 873 | 
****************** COMPATIBILITY CHANGE *********************** | 
| 874 | 
Altered mixtures to take the most recent modifier definition | 
| 875 | 
rather than the last one in the entire description.  Made the | 
| 876 | 
same change for illum's and mirror's.  Also, fixed a bug in | 
| 877 | 
the antimatter type where it didn't always get the correct | 
| 878 | 
material for shading. | 
| 879 | 
 | 
| 880 | 
Wrote normtiff program to quickly tone-map and convert Radiance pictures | 
| 881 | 
and SGILOG-encoded TIFF's to flat RGB TIFF output. | 
| 882 | 
 | 
| 883 | 
Added -r option to protate for CCW rotations. | 
| 884 | 
 | 
| 885 | 
Added ability to load values from read-only ambient file in rpict, | 
| 886 | 
rtrace and rview.  This may be useful when starting with the same | 
| 887 | 
values on many processors, where NFS lock contention would slow | 
| 888 | 
things down if they also wrote values back to the file. | 
| 889 | 
 | 
| 890 | 
Wrote rhinfo program for printing out holodeck section information. | 
| 891 | 
 | 
| 892 | 
Modified rad "scene" variable to allow in-line command specifications. | 
| 893 | 
 | 
| 894 | 
Added added -s and -b options to ra_ppm for changing output scale and | 
| 895 | 
forcing greyscale output. | 
| 896 | 
 | 
| 897 | 
Now allow negative distances for the fore clipping plane in rpict. | 
| 898 | 
This may be useful for rendering holographic stereograms. | 
| 899 | 
 | 
| 900 | 
Added -f option to xform to read arguments from files.  This can save | 
| 901 | 
a lot of scene loading time by reducing multiple xform invocations. | 
| 902 | 
 | 
| 903 | 
Added support for 15-bit TrueColor visuals in ximage. | 
| 904 | 
 | 
| 905 | 
Added (undocumented) -P option to macbethcal for picking chart corners | 
| 906 | 
directly using ximage. | 
| 907 | 
 | 
| 908 | 
Added -r option to rholo for opening holodeck files read-only. | 
| 909 | 
 | 
| 910 | 
Added correction factor for solid angle change in dielectrics as | 
| 911 | 
noted in Eric Veach's thesis. | 
| 912 | 
 | 
| 913 | 
Added von Kries white balance transform for color conversion using | 
| 914 | 
CMCCAT2000 matrix. | 
| 915 | 
 | 
| 916 | 
Added CAPDATE field to rendering headers to record render date. | 
| 917 | 
 | 
| 918 | 
Added mixpict primitive for using pictures to generate mixtures. | 
| 919 | 
 | 
| 920 | 
Fixed bug in Type B photometry angle calculation in source.cal discovered | 
| 921 | 
by Erich Phillips. | 
| 922 | 
 | 
| 923 | 
============================== | 
| 924 | 
Version 3.5 (Released 3/21/03) | 
| 925 | 
 | 
| 926 | 
Fixed bug in replmarks pointed out by Georg Mischler, which caused | 
| 927 | 
garbage to be output under specific conditions (unscaled, unrotated | 
| 928 | 
instances). | 
| 929 | 
 | 
| 930 | 
Fixed bug in normtiff that caused occassional weird colors | 
| 931 | 
on human tone-mapping of 32-bit LogLuv inputs (tmapluv.c). | 
| 932 | 
 | 
| 933 | 
Fixed -o option of pcomb so it resets le(i) and color exposure functions | 
| 934 | 
to unity. | 
| 935 | 
 | 
| 936 | 
Fixed a bug in Type B photometry in ies2rad source.cal introduced | 
| 937 | 
in last fix where spherical sources were getting symmetric | 
| 938 | 
distributions front-to-back. | 
| 939 | 
 | 
| 940 | 
Fixed another bug in ies2rad for 90-270 bilaterally symmetric fixtures, which | 
| 941 | 
seems to have been there from the beginning.  Thanks to Jack de Valpine | 
| 942 | 
for pointing it out. | 
| 943 | 
 | 
| 944 | 
Added NORANDOM symbol for tests with all random sampling turned off. | 
| 945 | 
 | 
| 946 | 
Fixed a bug in expression evaluation code that was causing unneeded | 
| 947 | 
evaluations of constants.  This is a fix on an earlier fix of a more | 
| 948 | 
serious bug prior to the 3.4 release, where the expression clock | 
| 949 | 
was wrapping silently and allowing values to go stale. | 
| 950 | 
 | 
| 951 | 
Fixed an even more serious bug in ies2rad for thin fixtures, where | 
| 952 | 
it was using "flatcorr" without the proper correction for the | 
| 953 | 
emitting area.  Thanks again to Jack de Valpine for spotting this. | 
| 954 | 
 | 
| 955 | 
--- All of the above was put into a 3.4.1 patch release 4/1/2002 | 
| 956 | 
 | 
| 957 | 
Added a facility to gensurf to make holes in the mesh using a | 
| 958 | 
valid(s,t) function. | 
| 959 | 
 | 
| 960 | 
Fixed bug in pcond that caused a bus error on images with large dark | 
| 961 | 
regions when acuity switch was set. | 
| 962 | 
 | 
| 963 | 
Fixed bug in pcomb that caused the S(n) function to return half | 
| 964 | 
the solid angle value it should have.  (Thanks to John Mardaljevic | 
| 965 | 
for discovering this error.) | 
| 966 | 
 | 
| 967 | 
Made rpict/rpiece/vwrays -vf option accept "-" as a synonym | 
| 968 | 
for standard input. | 
| 969 | 
 | 
| 970 | 
Fixed bug in persist functions (-P and -PP) with FreeBSD | 
| 971 | 
(including MacOS X) having to do with altered system function | 
| 972 | 
behaviors.  Neither mknod() nor freopen() behave as they | 
| 973 | 
used to. | 
| 974 | 
 | 
| 975 | 
Improved accuracy of irradiance gradient calculation near | 
| 976 | 
specular surfaces by using the effective ray distance | 
| 977 | 
rather than the first surface intersection.  (John | 
| 978 | 
Mardaljevic had pointed out some errors he was seeing | 
| 979 | 
with a particular atrium model.) | 
| 980 | 
 | 
| 981 | 
Reinstated my favorite little Fresnel approximation for | 
| 982 | 
perfectly smooth materials, so grazing angles show an | 
| 983 | 
accurate gradient.  Simultaneously revised the computation | 
| 984 | 
of the direct component for proper energy balance. | 
| 985 | 
(Thanks to Phillip Greenup for nagging John M. who nagged me.) | 
| 986 | 
 | 
| 987 | 
Improved the accuracy and appearance of indirect irradiance | 
| 988 | 
interpolation for smoothed surfaces.  (Thanks to Bernhard | 
| 989 | 
Spanlang for noticing the problem.) | 
| 990 | 
 | 
| 991 | 
Fixed intolerance for carriage-returns in mkillum's input files, | 
| 992 | 
which caused problems for files imported from DOS/Windows. | 
| 993 | 
 | 
| 994 | 
Fixed apparent bug that I couldn't reproduce in rpict for very | 
| 995 | 
narrow views, which sent it into an infinite loop under Linux. | 
| 996 | 
(Rich Gillibrand of Bristol Univ. pointed it out.) | 
| 997 | 
 | 
| 998 | 
Improved movement in rholo for low-detail holodecks on fast | 
| 999 | 
graphics processors by inserting 50 ms pause during motion | 
| 1000 | 
feedback. | 
| 1001 | 
 | 
| 1002 | 
Finally fixed ages-old consistency error where ambient value | 
| 1003 | 
lists were sorted incorrectly with the GNU-C compiler, | 
| 1004 | 
causing the dreaded "address not found in avlmemi" crash.  All | 
| 1005 | 
this time, I thought it was due to a faulty qsort(3) routine, | 
| 1006 | 
when in fact it was due to the way GNU-C compares pointers. | 
| 1007 | 
The fix was to change a single word in ambient.c from "AMBVAL" | 
| 1008 | 
to "char" and now it all magically works.  No more -Dtracktime=0, | 
| 1009 | 
hurrah! | 
| 1010 | 
 | 
| 1011 | 
Fixed pcond veil behavior for scenes that have their contrast | 
| 1012 | 
reduced by primary tone-mapping algorithms.  Previously, the | 
| 1013 | 
veil would come out looking like a fog because it was applied | 
| 1014 | 
prior to dynamic range compression and did not consider the | 
| 1015 | 
overall effect.  In the new version, the veil is adjusted | 
| 1016 | 
after dynamic range compression so that the net reduction | 
| 1017 | 
in visibility is approximately correct over the whole image. | 
| 1018 | 
(Later made this optional on compile with the ADJ_VEIL symbol, as I | 
| 1019 | 
noticed more artifacts than improvements in the resulting images.) | 
| 1020 | 
 | 
| 1021 | 
Fixed bug in BRTDfunc that caused an error in the calculation | 
| 1022 | 
of the diffuse transmitted ambient component.  This must have | 
| 1023 | 
been introduced early on, but never noticed by me or anyone. | 
| 1024 | 
 | 
| 1025 | 
Wrote an interactive script called "glaze" (src/gen/glaze.csh) | 
| 1026 | 
that computes a good material model for fritted and low-E glazing | 
| 1027 | 
systems.  Thanks to Visarc (Jack de Valpine) for paying for its | 
| 1028 | 
development and permitting it into the general distribution. | 
| 1029 | 
 | 
| 1030 | 
Increased scanline window in pcomb to 64 (+/- 32 pixels) to allow | 
| 1031 | 
for larger kernels in filtered images. | 
| 1032 | 
 | 
| 1033 | 
****************** COMPATIBILITY CHANGE *********************** | 
| 1034 | 
Changed behavior of pfilt gaussian blur to match more precise | 
| 1035 | 
definition.  A blur radius of 0.6 is now preferred over the | 
| 1036 | 
previous value of 1.0. | 
| 1037 | 
 | 
| 1038 | 
Added ANSI function prototypes to the header files in | 
| 1039 | 
src/common/ and src/rt/ and cleaned up the options processing | 
| 1040 | 
in the rpict, rtrace, and rview main procedures so that the | 
| 1041 | 
core Radiance rendering code can be more easily | 
| 1042 | 
called by new application programs.  Changed src/rt/Rmakefile | 
| 1043 | 
to create a rendering library called "libradiance.a" and | 
| 1044 | 
to install it in the src/lib/ directory along with the new | 
| 1045 | 
raycalls.o module, which should facilitate the building | 
| 1046 | 
of new applications outside the src/rt/ directory.  The | 
| 1047 | 
raypcalls.o module, also installed in src/lib, manages | 
| 1048 | 
parallel rendering on multiprocessors with shared memories. | 
| 1049 | 
 | 
| 1050 | 
Wrote new ranimove animation rendering program, which is an | 
| 1051 | 
alternative to ranimate.  The key difference is that | 
| 1052 | 
ranimove is optimized for moving scenes, and includes | 
| 1053 | 
a complete blur simulation for camera and object motion. | 
| 1054 | 
It also incorporates an sophisticated model of perceivable | 
| 1055 | 
error based on visual focus, and allows progressive | 
| 1056 | 
animation so one can explicitly control rendering time | 
| 1057 | 
and/or accuracy.  See the man page for details. | 
| 1058 | 
 | 
| 1059 | 
****************** COMPATIBILITY CHANGE *********************** | 
| 1060 | 
The sense of the MBLUR setting has been changed for the ranimate | 
| 1061 | 
command.  The first value is now the fraction of a frame during | 
| 1062 | 
which the shutter is open, and the _second_ argument (which is | 
| 1063 | 
optional) is the number of samples to specify to pmblur. | 
| 1064 | 
 | 
| 1065 | 
Enhanced octree reader behavior so it will accept command | 
| 1066 | 
specifications preceded by an exclamation mark ('!').  This | 
| 1067 | 
enables rtrace and rview to take octrees from commands similar | 
| 1068 | 
to rpict reading its octree from the standard input.  All | 
| 1069 | 
programs taking octrees as arguments will be affected by this | 
| 1070 | 
change.  However, since rad needs to get the modified date | 
| 1071 | 
from the octree, rad will refuse such an octree command | 
| 1072 | 
specification. | 
| 1073 | 
 | 
| 1074 | 
Fixed a bug in src/common/fgetline.c where it failed to elide | 
| 1075 | 
carriage-returns in Windows files. | 
| 1076 | 
 | 
| 1077 | 
Modified src/common/fgetword.c so it accepts single- or | 
| 1078 | 
double-quoted words with spaces in preparation for the | 
| 1079 | 
Windows version, which needs to allow spaces in file | 
| 1080 | 
paths.  Since fgetword() is called by all programs that | 
| 1081 | 
read in string arguments in scene files, these may now | 
| 1082 | 
be quoted with the expected behavior.  Also added a | 
| 1083 | 
fputword() call to the library to automatically quote | 
| 1084 | 
words on output that contain white space.  This routine | 
| 1085 | 
is now called from all the right places, I hope!  The | 
| 1086 | 
code does not support spaces in primitive identifiers, | 
| 1087 | 
and you will get peculiar errors if you try them. | 
| 1088 | 
 | 
| 1089 | 
Eliminated virtually all symbolic links from the source | 
| 1090 | 
tree, most of which were links to compatibility routines | 
| 1091 | 
and the calcomp functions for expression parsing. | 
| 1092 | 
Replaced -D* defines used in cal* routines with "esupport" | 
| 1093 | 
global that allows calling programs to set which language | 
| 1094 | 
options they want to support at runtime.  More programs now | 
| 1095 | 
link against the -lrt library.  Consolidated the src/cal | 
| 1096 | 
subdirectories in the process. | 
| 1097 | 
 | 
| 1098 | 
Added -dw option to pvalue program to input and output | 
| 1099 | 
16-bit word values (-dW for byte swapping). | 
| 1100 | 
 | 
| 1101 | 
Changed call ordering in material shaders to ensure | 
| 1102 | 
proper surface normal perturbation for two-sided, | 
| 1103 | 
textured surfaces. | 
| 1104 | 
 | 
| 1105 | 
Added a new "mesh" primitive, which permits very | 
| 1106 | 
complicated geometries with associated (u,v) coordinates | 
| 1107 | 
using the new obj2mesh converter and the new -o option | 
| 1108 | 
of gensurf for .OBJ output.  Mesh compilation takes | 
| 1109 | 
roughly 500 bytes/triangle in obj2mesh, but memory | 
| 1110 | 
access is well-ordered compared to rendering, which | 
| 1111 | 
takes about 50 bytes/triangle with full surface normal | 
| 1112 | 
and (u,v) coordinate interpolation.  (The actual mesh | 
| 1113 | 
is represented in 15 bytes/triangle, and the rest is | 
| 1114 | 
taken by the octree structure and malloc overhead.) | 
| 1115 | 
Local coordinates are set with the "vt" statement | 
| 1116 | 
in the Wavefront .OBJ file and accessed via the new | 
| 1117 | 
"Lu" and "Lv" variables in a Radiance .cal file. | 
| 1118 | 
Multiple instances of the same mesh with different | 
| 1119 | 
transformations take little additional space during | 
| 1120 | 
rendering, permitting scanned relief surfaces and | 
| 1121 | 
displacement-map-like effects to be repeated as desired. | 
| 1122 | 
 | 
| 1123 | 
Changed internal representation of alias'es in order | 
| 1124 | 
to maintain information about links for programs like | 
| 1125 | 
rshow that work from frozen octrees.  Added a special | 
| 1126 | 
alias modifier keyword, "inherit", to indicate that | 
| 1127 | 
an alias should get the same modifier as the original | 
| 1128 | 
target to simplify common alias usage for material | 
| 1129 | 
substitution. | 
| 1130 | 
 | 
| 1131 | 
Increased default oconv -n value to 6.  Since triangle | 
| 1132 | 
meshes commonly have six faces joining at each vertex, | 
| 1133 | 
values less than this cause resolution-limited voxel | 
| 1134 | 
subdivision.  Increased default -r option to 16384 | 
| 1135 | 
as well.  Also increased maximum internal set size | 
| 1136 | 
from 127 to 511, to accommodate difficult mesh | 
| 1137 | 
models where many faces come together at a point. | 
| 1138 | 
This required a little reprogramming in for couple | 
| 1139 | 
of recursive routines using sets to avoid overrunning | 
| 1140 | 
the stack limit. | 
| 1141 | 
 | 
| 1142 | 
============================== | 
| 1143 | 
Version 3.6 | 
| 1144 | 
 | 
| 1145 | 
Modified 4-byte RGBE encoding routine to avoid problems | 
| 1146 | 
when one or two primary values is negative and the other(s) | 
| 1147 | 
positive.  This used to generate some strange color values. | 
| 1148 | 
 | 
| 1149 | 
Added -oc option to rtrace to output local (u,v) coordinates. | 
| 1150 | 
 | 
| 1151 | 
Fixed bugs in local uv and j unit vector variables in src/rt/func.c. | 
| 1152 | 
 | 
| 1153 | 
Added warning message to OpenGL rendering routines about new | 
| 1154 | 
mesh primitive, which we cannot currently render. | 
| 1155 | 
 | 
| 1156 | 
Added -if, -id, -of, and -od options to rcalc to provide for | 
| 1157 | 
binary float and double i/o. | 
| 1158 | 
 | 
| 1159 | 
****************** COMPATIBILITY CHANGE *********************** | 
| 1160 | 
Changed holodeck format to used off_t instead of long for beam | 
| 1161 | 
positions, which allows holodecks to grow to system file size limit. | 
| 1162 | 
 | 
| 1163 | 
Fixed wrapping long in source hit test code, which would cause | 
| 1164 | 
odd horizontal lines in some very long renderings. | 
| 1165 | 
 | 
| 1166 | 
Added -f and -w options to ra_tiff to create IEEE float and 16-bit/primary | 
| 1167 | 
TIFF output, respectively.  These formats are also understood on reverse | 
| 1168 | 
conversion.  (16-bit/primary has been understood for some time, but not | 
| 1169 | 
IEEE float.) | 
| 1170 | 
 | 
| 1171 | 
Added -N option to rad to start multiple rendering processes in | 
| 1172 | 
parallel. | 
| 1173 | 
 | 
| 1174 | 
Fixed bug where mesh instances were not being freed, so subsequent calls | 
| 1175 | 
in programs like ranimove would refer to bogus data. | 
| 1176 | 
 | 
| 1177 | 
Added support in normtiff for floating-point and 16-bit/sample TIFF input | 
| 1178 | 
files. | 
| 1179 | 
 | 
| 1180 | 
Changed marksources() routine (src/rt/source.c) to check all | 
| 1181 | 
primitives in the modifier chain for emitting types, not only | 
| 1182 | 
the first.  This permits sources to be described with intervening | 
| 1183 | 
modifiers before the light/illum/glow primitive and allows aliases | 
| 1184 | 
as well. | 
| 1185 | 
 | 
| 1186 | 
Fixed bug in xform where it was neglecting to add transform arguments | 
| 1187 | 
to new mesh primitive. | 
| 1188 | 
 | 
| 1189 | 
Added -dF and -dD options to pvalue for byte-swapped floats and | 
| 1190 | 
doubles, respectively. | 
| 1191 | 
 | 
| 1192 | 
Changed meta2tga to output correct colors. | 
| 1193 | 
 | 
| 1194 | 
Changed local coordinate index from 32-bits to 16-bits, which requires | 
| 1195 | 
that Radiance mesh files be recompiled.  (Later decided against this | 
| 1196 | 
change, as it caused problems with some models.) | 
| 1197 | 
 | 
| 1198 | 
Changed integer tone-mapping routines to better deal with images | 
| 1199 | 
containing large, constant regions. | 
| 1200 | 
 | 
| 1201 | 
Improved interaction with rholo -o ogl driver under OS X, which was | 
| 1202 | 
returning bad values from the depth buffer. | 
| 1203 | 
 | 
| 1204 | 
Minor bug fix in ranimove where it was restarting processes when it | 
| 1205 | 
didn't need to. | 
| 1206 | 
 | 
| 1207 | 
Increased accuracy of default ambient parameters in rpict, rview, and | 
| 1208 | 
rtrace.  In rad program, doubled -ar value, -ad value, and -as value, | 
| 1209 | 
and decreased -aa value a bit.  Also adjusted -lr upwards and -lw | 
| 1210 | 
downwards.  I should have done these things long ago, as processors | 
| 1211 | 
have been getting faster and faster over the years. | 
| 1212 | 
 | 
| 1213 | 
Fixed bug discovered by Marcus Jacobs where oconv was dumping core | 
| 1214 | 
when it was given too many modifiers. | 
| 1215 | 
 | 
| 1216 | 
Fixed problem with rpict where it was drawing illum sources badly | 
| 1217 | 
even when they weren't all that small in the view. | 
| 1218 | 
 | 
| 1219 | 
Added in(i) function to rcalc for more flexible channel evaluation. | 
| 1220 | 
 | 
| 1221 | 
Replaced all calls to vfork() with regular fork() calls. | 
| 1222 | 
 | 
| 1223 | 
Fixed bug in glarendx for dgr calculation with sources behind view. | 
| 1224 | 
 | 
| 1225 | 
Added -p option to histo to print percentages/percentiles r.t. counts. | 
| 1226 | 
 | 
| 1227 | 
Added a source occluder cache to accelerate shadow testing.  This | 
| 1228 | 
can save up to 50% of the calculation time in scenes with many | 
| 1229 | 
light sources, especially ones containing large occluders.  This | 
| 1230 | 
optimization may be tuned or switched off with the -DSHADCACHE=N | 
| 1231 | 
compile switch, where N is the resolution of the shadow cache, or | 
| 1232 | 
0 to disable it.  Since this is purely a time vs. memory trade-off, | 
| 1233 | 
I decided not to make it a new command-line option.  (We already | 
| 1234 | 
have plenty.) | 
| 1235 | 
 | 
| 1236 | 
****** COMPATIBILITY CHANGE ******** | 
| 1237 | 
Changed the following command names to avoid conflicts: | 
| 1238 | 
        rview -> rvu (with symbolic link back to rview) | 
| 1239 | 
        calc -> icalc | 
| 1240 | 
        lam -> rlam | 
| 1241 | 
        gencat -> gencatenary | 
| 1242 | 
 | 
| 1243 | 
Improved -f option of normpat, which caused odd color changes before. | 
| 1244 | 
 | 
| 1245 | 
Created pgblur script which does fast Gaussian blur of image without changing | 
| 1246 | 
its dimensions.  This is very useful in certain types of image processing | 
| 1247 | 
calculations, such as finding or removing low frequencies. | 
| 1248 | 
 | 
| 1249 | 
****** COMPATIBILITY CHANGE ******** | 
| 1250 | 
Changed little-used objpict script so that it takes scene files rather than | 
| 1251 | 
rpict options on the command line, and puts everything into the right | 
| 1252 | 
coordinate position automatically rather than requiring the user to do it. | 
| 1253 | 
 | 
| 1254 | 
Added -I option to replmarks for mesh instancing. | 
| 1255 | 
 | 
| 1256 | 
Made similar change for virtual sources to allow modifiers and aliases | 
| 1257 | 
on the mirror and prism types to work properly. | 
| 1258 | 
 | 
| 1259 | 
Rob Guglielmetti added -lw and -lh options to falsecolor to control the | 
| 1260 | 
legend dimensions.  Made it so -lw 0 and/or -lh 0 turns legend off. | 
| 1261 | 
 | 
| 1262 | 
Made it so pcompos will read everything from a stream even if it doesn't | 
| 1263 | 
need it, so input commands will not receive a hangup signal. | 
| 1264 | 
 | 
| 1265 | 
Wrote ra_bmp program to convert to and from Windows BMP files (finally). | 
| 1266 | 
It's the most horrible image format I've ever seen, and I've seen a lot. | 
| 1267 | 
 | 
| 1268 | 
Increased -aa default value for all renderers (and also -ad and -as in | 
| 1269 | 
rview) at Schorsch's suggestion.  I think this undid my earlier decrease | 
| 1270 | 
of -aa last time, which I guess was ill-considered. | 
| 1271 | 
 | 
| 1272 | 
Modified oconv to keep subdividing the octree if there are too many | 
| 1273 | 
objects in a voxel even when the -r resolution limit has been | 
| 1274 | 
reached.  This was not done before due to problems with recursion, | 
| 1275 | 
and still, it will only continue to 256 times the original -r limit. | 
| 1276 | 
If that isn't enough, then there's probably no hope, anyway. | 
| 1277 | 
 | 
| 1278 | 
Added -l option to obj2mesh to search for material files in library | 
| 1279 | 
locations. | 
| 1280 | 
 | 
| 1281 | 
Increased polygon vertex limit to 512 in obj2mesh and obj2rad and added | 
| 1282 | 
warning if this limit is exceeded. | 
| 1283 | 
 | 
| 1284 | 
Added tone-mapping and monitor primary options to ra_bmp.  This gives | 
| 1285 | 
new functionality similar to normtiff and ximage.  It would be nice to | 
| 1286 | 
add this feature to the other ra_* programs as well...  someday. | 
| 1287 | 
 | 
| 1288 | 
Fixed long-standing bug in reported pixel ordering out of certain | 
| 1289 | 
protate commands. | 
| 1290 | 
 | 
| 1291 | 
Added -p option to rcalc for "passive mode" that transmits | 
| 1292 | 
unrecognized input -- useful for substituting data in the | 
| 1293 | 
middle of a stream. | 
| 1294 | 
 | 
| 1295 | 
Fixed a very obscure bug in rpict that caused a dark horizontal | 
| 1296 | 
line in certain cylindrical projections due to improper drawing | 
| 1297 | 
of the sky dome source in rt/srcdraw.c. | 
| 1298 | 
 | 
| 1299 | 
Fixed problems with effective ray lengths computed for dielectric | 
| 1300 | 
and BRTDfunc materials.  This was most evident in breakup of holodeck | 
| 1301 | 
views when VDISTANCE=True. | 
| 1302 | 
 | 
| 1303 | 
Fixed rad so that 'scene' variable may consist only of inline commands. | 
| 1304 | 
 | 
| 1305 | 
Fixed bug introduced in shadow caching routines where sources in the | 
| 1306 | 
middle of spheres were not illuminating properly.  Thanks to Guilio | 
| 1307 | 
Antonutto for spotting this problem. | 
| 1308 | 
 | 
| 1309 | 
Modified gensky behavior so if time is given with standard time zone | 
| 1310 | 
designation, any -m option is ignored. | 
| 1311 | 
 | 
| 1312 | 
Added -n option to mkillum for (shared memory) parallel processing. | 
| 1313 | 
 | 
| 1314 | 
Fixed a long-standing bug in parallel processing code that only | 
| 1315 | 
seemed to manifest with the new mkillum -n option, where rtrace | 
| 1316 | 
would deadlock upon termination.  The reason it never showed up | 
| 1317 | 
before is because I always closed processes in the reverse order | 
| 1318 | 
of opening them in other programs.  I went through and found similar | 
| 1319 | 
(potential) bugs in the rview device subprocess code and util/netproc.c. | 
| 1320 | 
 | 
| 1321 | 
Corrected the normalization of the Gaussian reflectance model.  This will | 
| 1322 | 
cause an increase in specularity for low-lying light sources. | 
| 1323 | 
Thanks to Don Walters of Boeing and Arne Duer of the Univ. of Innsbruck | 
| 1324 | 
for pointing out this error.  The square root used for the two cosines | 
| 1325 | 
in the denominator of the normalization factor should not be present. | 
| 1326 | 
This was a serious mistake I made in the original model, which went | 
| 1327 | 
undiscovered (at least to my knowledge) for over a decade.  I think | 
| 1328 | 
Bruce Walter of Cornell may have known about it, but I never heard | 
| 1329 | 
the details of his discovery. | 
| 1330 | 
 | 
| 1331 | 
Enabled the -p option for primary conversion without tone-mapping | 
| 1332 | 
in ra_bmp.  Also provides for XYZE input conversion to RGB. | 
| 1333 | 
 | 
| 1334 | 
Fixed what I consider a bug in pvalue -o when taking XYZE files on input, | 
| 1335 | 
where it was inappropriately undoing the exposure value so that it always | 
| 1336 | 
reported radiance rather than XYZ values with Y in cd/m^2. | 
| 1337 | 
 | 
| 1338 | 
Made it so ra_bmp only produces run-length encoded 8-bit output for | 
| 1339 | 
grayscale images that are tone-mapped.  This minimizes circumstances | 
| 1340 | 
under which output scanline order is reversed. | 
| 1341 | 
 | 
| 1342 | 
Fixed bug in rcalc where it sometimes wasn't parsing the input format | 
| 1343 | 
correctly. | 
| 1344 | 
 | 
| 1345 | 
===================== | 
| 1346 | 
Version 3.7 | 
| 1347 | 
 | 
| 1348 | 
Fixed bug in source occluder cache which caused consistency error | 
| 1349 | 
for distant sources and mist materials.  (Thanks to Mark Stock for | 
| 1350 | 
finding the problem.) | 
| 1351 | 
 | 
| 1352 | 
Fixed serious bug in source drawing routines for rpict, where the edges | 
| 1353 | 
of light sources were appearing through obstructions.  (Thanks to Veronica | 
| 1354 | 
Sundstedt for pointing this out.) | 
| 1355 | 
 | 
| 1356 | 
(The above were included in the 3.6.1 patch release.) | 
| 1357 | 
 | 
| 1358 | 
Changed default temporary directory from /usr/tmp, which doesn't exist | 
| 1359 | 
on a lot of systems these days, to /tmp. | 
| 1360 | 
 | 
| 1361 | 
Eliminated many unused files and programs from the distribution, including | 
| 1362 | 
the following programs that were being built but no longer used: | 
| 1363 | 
        oki20   - printer driver for OkiMate 20 printer (B&W) | 
| 1364 | 
        oki20c  - printer driver for OkiMate 20 color printer | 
| 1365 | 
        pcwarp  - intended as more general substitute for macbetcal, | 
| 1366 | 
                        but never quite worked | 
| 1367 | 
        ra_avs  - convert to & from AVS image format | 
| 1368 | 
        ra_bn   - convert to & from Barneyscann format | 
| 1369 | 
        ra_pr   - convert to & from 8-bit Sun rasterfile format | 
| 1370 | 
        ra_pr24 - convert to & from 24-bit Sun rasterfile format | 
| 1371 | 
        thf2rad - convert GDS "things file" to Radiance scene format | 
| 1372 | 
If anyone is still wanting any of the above programs, let us know and we'll | 
| 1373 | 
reinstate it. | 
| 1374 | 
 | 
| 1375 | 
Fixed bug in pcond's acuity simulation for small view angles (less than | 
| 1376 | 
4 degrees horizontally or vertically).  Thanks to James Lee for figuring | 
| 1377 | 
this out. | 
| 1378 | 
 | 
| 1379 | 
Added script to convert to/from ICT's Poskanzer Float Map, which I don't | 
| 1380 | 
care to support officially due to its machine-dependent byte order. | 
| 1381 | 
 | 
| 1382 | 
Fixed bug that caused incorrect reporting of non-surface in set when | 
| 1383 | 
mixing meshes and instances.  (Thanks to Jack de Valpine for discovery.) | 
| 1384 | 
 | 
| 1385 | 
Fixed inaccuracy in calculation of diffuse transmission in the presence | 
| 1386 | 
of pure specular (Fresnel reflection) using "trans" material.  Thanks | 
| 1387 | 
to Christoph Reinhart for pointing out the error. | 
| 1388 | 
 | 
| 1389 | 
Made internal change to tone-mapping library to use structure pointer | 
| 1390 | 
rather than stack, making code re-entrant and more up to modern standards. | 
| 1391 | 
 | 
| 1392 | 
Added -pd option to handle depth-of-field blur in rpict.  This requires | 
| 1393 | 
that the view directon (-vd option) include focal distance information, | 
| 1394 | 
which is now preserved by the various view file routines, and reported | 
| 1395 | 
by the vwright command. | 
| 1396 | 
 | 
| 1397 | 
Added DBLUR variable to ranimate and pmdblur script to handle simultaneous | 
| 1398 | 
motion and depth-of-field blurring.  Thanks to Visarc for funding this work. | 
| 1399 | 
 | 
| 1400 | 
Added setting of focus distance in rvu ("focus" command) and rholo | 
| 1401 | 
('f'/"frame" command). | 
| 1402 | 
 | 
| 1403 | 
Changed default remote shell in ranimate to "ssh" rather than "rsh", | 
| 1404 | 
which has been abandoned on most Unix systems due to security issues. | 
| 1405 | 
 | 
| 1406 | 
Fixed behavior of source primitive using illum with no alternate | 
| 1407 | 
material.  These now become transparent so one can see the sky or | 
| 1408 | 
light-probe background for use in image-based lighting.  Previously, | 
| 1409 | 
the user needed to specify the background glow as the alternate | 
| 1410 | 
material for a distant illum source to behave properly.  (This still | 
| 1411 | 
works.) | 
| 1412 | 
 | 
| 1413 | 
Fixed some minor problems and inconsistencies with 16-bit/channel | 
| 1414 | 
TIFF i/o in ra_tiff. | 
| 1415 | 
 | 
| 1416 | 
Created mksource program to generate distant sources for improved | 
| 1417 | 
image-based lighting with light probes. | 
| 1418 | 
 | 
| 1419 | 
Changed ambient calculation so that -ad will not limit recursion | 
| 1420 | 
depth, and a minimum of 27 samples will be sent out for each stored | 
| 1421 | 
ambient value, or 3 samples if -aa is 0 (caching off). | 
| 1422 | 
 | 
| 1423 | 
Added -oM option to rtrace to report material (rather than modifier) | 
| 1424 | 
for cases where actual material is aliased or further up modifier chain. | 
| 1425 | 
 | 
| 1426 | 
Rearranged the way ray contributions are computed so that it might be | 
| 1427 | 
possible to use rtrace to derive daylight coefficients and optical | 
| 1428 | 
transfer functions.  The new -oTW option of rtrace produces color | 
| 1429 | 
contribution weights for each ray, which combined with the -ti (or -tI) | 
| 1430 | 
option permits the contribution of selected surfaces or sources to | 
| 1431 | 
be determined.  Using the -oTW option, one should also specify | 
| 1432 | 
options "-dt 0 -aa 0 -as 0" for optimal results.  In particular, | 
| 1433 | 
one cannot expect reasonable tallies with -ab >= 1 and irradiance | 
| 1434 | 
caching on (-aa > 0). | 
| 1435 | 
 | 
| 1436 | 
The same code modifications included a change to the indirect computation | 
| 1437 | 
with caching switched off (-aa 0).  Whereas before, the number of secondary | 
| 1438 | 
rays after the first bounce were half of the previous generation, they are | 
| 1439 | 
now determined by the surface reflectance, making for a better and faster | 
| 1440 | 
calculation.  It should now be possible to compute many bounces with -aa 0, | 
| 1441 | 
which used to be prohibitively expensive. | 
| 1442 | 
 | 
| 1443 | 
Added -T option to xshowtrace to trace rays to light sources. | 
| 1444 | 
 | 
| 1445 | 
Added meta2bmp program to produce BMP files from metafile graphics. | 
| 1446 | 
 | 
| 1447 | 
Added cct_x(t) and cct_y(t) to src/cal/cal/blackbody.cal to interpolate | 
| 1448 | 
CIE chromaticities for particular black-body temperatures. | 
| 1449 | 
 | 
| 1450 | 
Increased maximum number of input pictures in pcomb and pcompos to 512. | 
| 1451 | 
 | 
| 1452 | 
Created rtcontrib program for computing ray contribution coefficients. | 
| 1453 | 
This tool may be used to do standard optical ray tracing or daylight | 
| 1454 | 
coefficient calculations for annual simulations, among other uses. | 
| 1455 | 
 | 
| 1456 | 
Added tilde ('~') output option as part of the -o* specification of | 
| 1457 | 
rtrace.  This permits ray trees to be parsed more easily in binary | 
| 1458 | 
output mode, as needed by rtcontrib. | 
| 1459 | 
 | 
| 1460 | 
Implemented Russian roulette ray termination with -lr <= 0. | 
| 1461 | 
Made -lr -10 the default in rtcontrib. | 
| 1462 | 
 | 
| 1463 | 
Made rtcontrib -f option search RAYPATH directories. | 
| 1464 | 
 | 
| 1465 | 
Made it so -o option of rtcontrib can pipe -o output to a command. | 
| 1466 | 
 | 
| 1467 | 
Added -if and -of options to total for binary i/o (following rcalc mold). | 
| 1468 | 
 | 
| 1469 | 
Switched default options in rtrace to use Russian roulette.  (Rpict and rvu | 
| 1470 | 
still use biased ray termination.) | 
| 1471 | 
 | 
| 1472 | 
Added rtcontrib -r option to recover partial output. | 
| 1473 | 
 | 
| 1474 | 
Added -u rendering option for pure Monte Carlo sampling. | 
| 1475 | 
(Got rid of -DMC compile option, which this makes superfluous.) | 
| 1476 | 
 | 
| 1477 | 
Changed -t option of rlam to accept strings as well as single characters. | 
| 1478 | 
 | 
| 1479 | 
Fixed bug in rcalc with -l option where it would sometimes go into an | 
| 1480 | 
infinite loop. | 
| 1481 | 
 | 
| 1482 | 
Fixed truly ancient bug in bounding box computation for cones, which | 
| 1483 | 
could (and did) cause missing segments. | 
| 1484 | 
 | 
| 1485 | 
Added -z option to normtiff to output LZW-compressed files. | 
| 1486 | 
 | 
| 1487 | 
Last change to total causes it to produce results when it sees an empty | 
| 1488 | 
line on the input.  This was not intentional, but I decided I like this | 
| 1489 | 
behavior so I documented it rather than changing it. | 
| 1490 | 
 | 
| 1491 | 
===================== | 
| 1492 | 
Version 3.8 | 
| 1493 | 
 |