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