| 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. |