home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / NEWS / RADIANCE / DOC / RADIANCE.V22 < prev    next >
Text File  |  1993-10-07  |  82KB  |  2,091 lines

  1. ~sRadiance Digest, v2n2
  2. Dear Radiance Users,
  3.  
  4. Here is the latest backlogged collection of electronic mail exchanges on
  5. various topics of hopeful interest.  As always, you can search for the
  6. subjects you want.
  7.  
  8.     STRANGE_VIEWS        Methods for generating odd images
  9.     SMLFLT_OPTION        Problems with SMLFLT compile switch in 2.0
  10.     ANTIMATTER        How to use antimatter type
  11.     DAYLIGHT_SIMULATION    Understanding daylight simulation options
  12.     LUMINOUS_EFFICACY    Change in luminous efficacy between 1.4 and 2.0
  13.     RPICT_PARAMETERS    What are the useful ranges of rpict parameters?
  14.     GENSURF            New gensurf capabilities and making teapots
  15.     ALIASING        Aliasing and image representation
  16.     SHARED_PICTURES        Sharing picture files
  17.     AMIGA_PORT        New port available for Amiga
  18.     DECSTATION        Problems running on DECstations
  19.     INFRARED        Using Radiance in infrared spectrum
  20.     SPECULARITY_BUG        Bug in specular highlights of 2.0
  21.     VIEW_INFO        Getting view information from files
  22.     BACKGROUND_COLOR    Changing the background color
  23.     UPFRONT_TRANSLATOR    Translator now available for Alias UpFront!
  24.     SCENE_FLATTENING    Flatting Radiance scene descriptions
  25.  
  26. I intend to release version 2.1 shortly, and will make an announcement
  27. at the appropriate time.
  28.  
  29. -Greg
  30.  
  31. ==========================================================================
  32. STRANGE_VIEWS
  33.  
  34. Date: Wed, 15 Jan 92 16:25:30 -0500
  35. From: David Jones  <djones@lightning.McRCIM.McGill.EDU>
  36. To: Greg Ward <greg@hobbes.lbl.gov>
  37. Subject: Radiance question
  38.  
  39. Hi Greg,
  40.  
  41. I would like to generate an image which, instead of pixels indexed
  42. by X and Y on an image PLANE, would have pixels indexed by angles
  43. of azimuth and elevation.  I know I could work out some
  44. transformation to take a rendered image and "warp" it, but it would be
  45. much more efficient to do it directly.
  46.  
  47. Any suggestions?
  48.  
  49. thanks,
  50.   Dave
  51.  
  52. Date: Wed, 15 Jan 92 16:06:30 PST
  53. From: greg (Gregory J. Ward)
  54. To: djones@lightning.McRCIM.McGill.EDU
  55. Subject: Re:  Radiance question
  56.  
  57. Hi Dave,
  58.  
  59. Nice to hear from you again.  How have you been getting on in your new
  60. position?
  61.  
  62. I assume by your question that the -vta fisheye view type is not satisfactory
  63. for your purposes.  This option does produce an image with similar properties
  64. to those you are asking for, but the center of the image corresponds to a
  65. polar angle of 0 and surrounding pixels correspond to a polar angle that is
  66. proportional to the distance from the image center.  Azimuth angle can be
  67. measured as distance (in radians) about a circle whose center is the center
  68. of the image.  I can give you the equations for theta and phi as a function
  69. of pixel location for this type of image if you like.
  70.  
  71. To produce an image whose upper left corner is (theta,phi)=(0,0) (theta is
  72. the polar angle and phi is the azimuth), and whose upper right corner is
  73. (theta,phi) = (0,2pi), and whose lower left corner is (pi/2,0), use the
  74. following command (setting the -e values to suit):
  75.  
  76.     % cnt 256 512 | rcalc -e 'xres:512;yres:256' \
  77.         -e 'vpx:0;vpy:0;vpz:0' \
  78.         -e 'vdx:1;vdy:0;vdz:0' \
  79.         -e 'vux:0;vuy:0;vuz:1' -f polar.cal \
  80.         | rtrace [options] -faf octree \
  81.         | pvalue -r -df -y 256 +x 512 > polar.pic
  82.  
  83. Here is the file polar.cal:
  84.  
  85. {
  86.     Compute polar directions for a given
  87.     view point, direction and up vector
  88. }
  89.     { compute right and top vectors }
  90. rux : vdy*vuz - vdz*vuy;
  91. ruy : vdz*vux - vdx*vuz;
  92. ruz : vdx*vuy - vdy*vux;
  93. lru : sqrt(rux*rux+ruy*ruy+ruz*ruz);
  94. rx : rux/lru; ry : ruy/lru; rz : ruz/lru;
  95. lvd : sqrt(vdx*vdx+vdy*vdy+vdz*vdz);
  96. dx : vdx/lvd; dy : vdy/lvd; dz : vdz/lvd;
  97. tx : ry*dz - rz*dy;
  98. ty : rz*dx - rx*dz;
  99. tz : rx*dy - ry*dx;
  100.  
  101.     { get input pixel values }
  102. x = $2; y = $1;
  103.  
  104.     { comute theta, phi directions }
  105. theta = PI/2 * (y+.5)/yres;
  106. phi = 2*PI * (x+.5)/xres;
  107. ct = cos(theta); st = sin(theta);
  108. cp = cos(phi); sp = sin(phi);
  109.  
  110.     { output view point }
  111. $1 = vpx; $2 = vpy; $3 = vpz;
  112.  
  113.     { output view direction }
  114. $4 = dx*ct + rx*cp*st + tx*sp*st;
  115. $5 = dy*ct + ry*cp*st + ty*sp*st;
  116. $6 = dz*ct + rz*cp*st + tz*sp*st;
  117.  
  118. ----------------------------------
  119. I gave the above a try and it seems to work for my simple example.  I hope
  120. that changes of view and output resolution are clear, and I think
  121. you can figure out how to modify it for different ranges of theta and phi.
  122.  
  123. If you don't have version 2.0 of Radiance, this is not going to work
  124. without some modifications.  Let me know how it turns out!
  125.  
  126. -Greg
  127.  
  128. ===================================================================
  129. SMLFLT_OPTION
  130.  
  131. Date: Thu, 16 Jan 92 18:22:19 -0500
  132. From: David Jones  <djones@lightning.McRCIM.McGill.EDU>
  133. To: Greg Ward <greg@hobbes.lbl.gov>
  134. Subject: trouble with lighting
  135.  
  136. I know I've enountered this problem before, but I forget the solution.
  137. Some of my surfaces look speckled.  I have deposited a file
  138. in hobbes:/pub/xfer/speckle.pic.Z.
  139. I dumped this out of rview.  Do you have any sugestions?
  140.  
  141. dj
  142.  
  143. Date: Thu, 16 Jan 92 15:47:17 PST
  144. From: greg (Gregory J. Ward)
  145. To: djones@lightning.McRCIM.McGill.EDU
  146. Subject: Re:  trouble with lighting
  147.  
  148. Hi David,
  149.  
  150. Actually, I don't think you've run into this exact problem before.  There
  151. are other instances where using the -dj option can cause black spots, but
  152. I don't think that's the case here.  The problem (my guess) is that you
  153. said you wanted to use huge models during the Q&A session before building
  154. the 2.0 distribution.  Answering yes to this particular question can (as
  155. you were warned) result in some artifacts.  This is the price of using
  156. single rather than double precision numbers for the geometry calculations.
  157. I don't recommend it unless memory is really at a premium, for obvious
  158. reasons.
  159.  
  160. To rebuild the distribution using double precision arithmatic throughout,
  161. do a makeall clean followed by a makeall install.  Say "yes" to the question
  162. about modifying the rmake command, and remove the -DSMLFLT option therein.
  163.  
  164. If -DSMLFLT is not in your rmake file, then I'm wrong and I'll have to
  165. think a little harder to figure out what's going on.
  166.  
  167. -Greg
  168.  
  169. Date: Thu, 16 Jan 92 19:43:56 -0500
  170. From: David Jones  <djones@lightning.McRCIM.McGill.EDU>
  171. To: greg@hobbes.lbl.gov
  172. Subject: Re:  trouble with lighting
  173.  
  174. and have you done away with "x11dev" ?
  175. I can't tell whether I botched the install or
  176. whether an script I use explicitly refers to x11dev when it is no
  177. longer needed.  I the old x11dev from before and it seems to work.
  178. I seem to have trouble changing the viewpoint.  For example,
  179. I would change it to 100 100 50 and then it would
  180. be 3.399, 3.399, 1.777 (or something else way off).  If this persists
  181. after the SMLFLT change, I'll let you know.  Otherwise don't worry about it
  182. unless it sounds familiar.
  183.  
  184. dj
  185.  
  186. Date: Fri, 17 Jan 92 09:33:21 PST
  187. From: greg (Gregory J. Ward)
  188. To: djones@lightning.McRCIM.McGill.EDU
  189. Subject: Re:  trouble with lighting
  190.  
  191. Hi Dave,
  192.  
  193. Thanks for pointing out the problem with viewpoint changes.  It's a bug
  194. associated with the SMLFLT option that I hadn't caught.  It will be fixed
  195. in the next distribution.  I don't think enough people are using this
  196. compile switch to make it worth sending out a patch.
  197.  
  198. The X11 driver is now built in as the default in rview, so you can either
  199. specify no -o option or use -o x11 if you want to be explicit.  The old
  200. x11dev separate program driver will still work, but it's less efficient.
  201.  
  202. -Greg
  203.  
  204. ============================================================
  205. ANTIMATTER
  206.  
  207. Date: Fri, 17 Jan 92 13:34:09 -0500
  208. From: David Jones  <djones@lightning.McRCIM.McGill.EDU>
  209. To: greg@hobbes.lbl.gov
  210. Subject: Re:  I may be right ...
  211.  
  212. Sorry for all the questions today, but ...
  213.  
  214. I want to construct a shape and I think antimatter is appropriate, though
  215. I have never been able to get antimatter to work.  I don't think I
  216. understand the instructions in ray.1
  217.  
  218. I want to start with a cylinder CYL1 made of material MAT1
  219. and then take another cylinder CYL2 which intersects CYL1 and cut out
  220. the intersection.  I don't want CYL2 visible, but when a ray passes
  221. from the invisible CYL2 into the volume of CYL1 I want a surface to 
  222. be visible and made of MAT2.
  223.  
  224. Can I do this with antimatter?
  225.  
  226. dj
  227.  
  228. Date: Fri, 17 Jan 92 13:54:48 -0500
  229. From: David Jones  <djones@lightning.McRCIM.McGill.EDU>
  230. To: Greg Ward <greg@hobbes.lbl.gov>
  231. Subject: last one for today I hope
  232.  
  233. Greg,
  234.  
  235. So now I have a complicated scene with lots of Radiance description files.
  236. I get the following error message:
  237.  
  238. oconv room2.r > room2.oct
  239. xform: (standard input): unknown object type "xform"
  240. xform: (standard input): unknown object type "xform"
  241.  
  242.  
  243. I know this will be easy to fix but where the heck in all the files
  244. oconv has looked does this error occur?  Would it be easy
  245. to add a "-v" option to "oconv" that printed all the file names
  246. as things were opened and closed?  This will pinpoint where this
  247. xform error message is coming from.
  248.  
  249. dj
  250.  
  251. Date: Fri, 17 Jan 92 11:18:32 PST
  252. From: greg (Gregory J. Ward)
  253. To: djones@lightning.McRCIM.McGill.EDU
  254. Subject: Re:  I may be right ...
  255.  
  256. MAT1 cylinder CYL1
  257. 0 0 7 ...
  258.  
  259. void antimatter AMAT2
  260. 1 MAT2
  261. 0 0
  262.  
  263. AMAT2 cylinder CYL2
  264. 0 0 7 ...
  265.  
  266. AMAT2 ring CYL2.cap1
  267. 0 0 8 ...
  268.  
  269. AMAT2 ring CYL2.cap2
  270. 0 0 8 ...
  271.  
  272. The above should work as you describe.  The rings at each end are necessary
  273. to make CYL2 an enclosed solid.  Remember that the materials MAT1 and MAT2
  274. cannot be of type trans or glass, and that the viewpoint must be outside of
  275. all volumes involved.
  276.  
  277. The second problem is more difficult.  I suppose a verbose option could
  278. be added that would mention every opening of a file or starting of a
  279. command in oconv and xform, but the output would be voluminous to say the
  280. least.  I recommend instead that you use the following command to try to
  281. localize the error:
  282.  
  283.     % xform -e room2.r |& more
  284.  
  285. The error message will appear shortly before the correspoding point in
  286. the expanded file.
  287.  
  288. -Greg
  289.  
  290. Date: Sun, 19 Jan 92 16:26:00 -0500
  291. From: David Jones  <djones@Olympus.McRCIM.McGill.EDU>
  292. To: Greg Ward <greg@hobbes.lbl.gov>
  293. Subject: "popen" woes
  294.  
  295. So I can't tell whether this is the fault of my radiance description
  296. files (though I really doubt it) or a bug in Radiance or
  297. some problem with our SPARCs.
  298.  
  299. I am still getting difficulties with "oconv file.r" when "file.r"
  300. contains a lot of recursive "! cat otherfile.r | xform ...".
  301.  
  302. The new twist is that I am printing out debugging messages
  303. to trace your popen() and pclose() calls.
  304.  
  305. The symptom is that "oconv" just hangs midway through its job, but
  306. only sometimes.  If I kill the process, delete the ".oct" file and
  307. restart it, then it might work the next time.
  308.  
  309. How would oconv react if the system ran out of process-table entries
  310. or max # of open files, or something like that.  Would it silently hang?
  311.  
  312. dj
  313.  
  314. Date: Sun, 19 Jan 92 15:33:35 PST
  315. From: greg (Gregory J. Ward)
  316. To: djones@Olympus.McRCIM.McGill.EDU
  317. Subject: Re:  "popen" woes
  318.  
  319. Hi Dave,
  320.  
  321. You shouldn't even be using "cat file | xform [args]" -- "xform [args] file"
  322. is much more efficient and involves fewer processes.  You should also include
  323. "-e" as the first optiont to xform to reduce the number of open processes.
  324. I don't know what happens when the system runs out of process table entries
  325. under SunOS.  If you run out of open file entries (although a depth up to
  326. 32 is safe on most machines), then oconv will report an error message.
  327.  
  328. The most common reason for oconv to hang is if you forgot to give xform or
  329. some other command an input file and it is trying therefore to read from the
  330. standard input.  This has unpredictable results, which is consistent with the
  331. behavior you are reporting.  Look out for commands such as "cat | xform .."
  332. or "xform [args]" without a file name.
  333.  
  334. I hope this helps.
  335. -Greg
  336.  
  337. =================================================================
  338. DAYLIGHT_SIMULATION
  339.  
  340.  
  341. Date: Fri, 17 Jan 92 09:42:41 PST
  342. From: kovach@ise.fhg.de
  343. Subject: Radiance
  344. To: GJward@lbl.gov
  345.  
  346. Hi Greg, 
  347.  
  348. I just left LBL and already I have more questions.  I just
  349. talked to Peter Ap. about radiance and I have a few questions about
  350. it.  I think it would be a great tool to use to get an idea on
  351. the irradiation distribution on a outer building surface and where
  352. the best place would be for PV modules.  
  353.  
  354. I have two questions to that point:
  355.  
  356. 1. I need the values of incident irradiation and are these available
  357. as an output of the program?  (Or could an extension to the program
  358. be written to obtain a output data file (for example) with the incident
  359. irradiations in it??)  How much work would it entail?  Would the 
  360. person have to be very familiar with the code of the entire program
  361. or just a part of it?
  362.  
  363. 2. How long would it take to simulate the exterior of a building
  364. with a few overhangs, neighboring buildings , ambient conditions
  365. (eg. reflection from white surfaces) and with a resolution of
  366. 6 " in real space??  How about the same conditions with a 
  367. resolution of 12 " in real space?
  368.  
  369. A rough estimate to these questions would be helpful!  (P.S. Peter
  370. Jaegle and I tried the 'talk' command but were unable to make
  371. a connection!)
  372.  
  373. Thanks ,   Anne Kovach
  374.  
  375. From: greg (Gregory J. Ward)
  376. To: kovach@ise.fhg.de
  377. Subject: Re:  Radiance
  378.  
  379. Hi Anne,
  380.  
  381. I think that it wouldn't be too difficult to use Radiance for the purpose
  382. you describe.  With version 2.0, it is possible to get either individual
  383. irradiance values or irradiance pictures using rtrace and rpict, respectively.
  384. It is not necessary to do any programming.  I will be happy to help you with
  385. the right commands at the appropriate time.
  386.  
  387. In reference to your second question, the time required for geometric
  388. modeling depends on whether or not you use a CAD program to do it and
  389. how familiar you are with this type of work.  Assuming that you are just
  390. a beginner and have no CAD program or modeling experience (but keeping
  391. in mind that you are a bright woman), I would guess that it will take
  392. you between a few days and a week to get the exterior model shaped up
  393. using a text editor and working directly with Radiance.  I don't think
  394. the resolution will make that much difference in the modeling time.
  395.  
  396. -Greg
  397.  
  398. From: sick@ise.fhg.de
  399. Subject: falsecolor units
  400. To: greg@hobbes.lbl.gov (gregory ward)
  401. Date: Tue, 21 Jan 92 11:03:43 MEZ
  402.  
  403. Hello,
  404.  
  405. I started working with Radiance a few weeks ago. Peter Apian-Bennewitz
  406. was a great help in getting started.
  407.  
  408. I used the new falsecolor program which might be very helpful for me since
  409. I often need quantities (numbers) rather than qualities (nice realistic
  410. pictures). Now here is my problem:
  411.  
  412. I do not know the "old luminance unit" (dictionary) nit. How does it
  413. convert to lm/m*m-sr ?  I am also confused with the options "s" and
  414. "m": Is the value of s a multiplier of 1000 or replaces it 1000?
  415. Should it be set to the highest expected value of , well, luminance,
  416. illuminance radiance or irradiance?  If I change the multiplier for a
  417. unit conversion, I assume that s is not affected. Correct?  Finally, to
  418. make me get both a quick correct result and an example to follow the
  419. conversions, could you tell me how to produce a falsecolor picture with
  420. values of irradiance in W/m*m?
  421.  
  422. I really appreciate your efforts. The work I am currently doing will be part
  423. of a presentation at an IEA SHCP Task 16 meeting in Madrid at the beginning
  424. of February. Depending on the outcome of the discussion, Radiance might become
  425. a major tool for the group. So much as an incentive for you ...
  426.  
  427. Sincerely,
  428.  
  429.         Fred Sick
  430.  
  431. Date: Tue, 21 Jan 92 08:51:46 PST
  432. From: greg (Gregory J. Ward)
  433. To: sick@ise.fhg.de
  434. Subject: Re:  falsecolor units
  435.  
  436. Hello Friedrich,
  437.  
  438. The "scale" value of falsecolor as set by the -s option determines only the
  439. maximum charted value in the image.  This is as you supposed unaffected by
  440. the -m "multiplier" option which determines the units being charted.
  441.  
  442. The luminance unit of 1 nit is in fact 1 lumen/steradian/m^2, so it is already
  443. in SI units.  A multiplier of -m 1 produces values in the native unit of
  444. Radiance, which is watts/steradian/m^2.
  445.  
  446. The only way to correctly produce illuminance or irradiance values is by
  447. rendering the image with the -i option of rpict.  Then, simply apply
  448. falsecolor as you would have to produce luminance or radiance values.
  449.  
  450. If any of this is still not clear to you, please do not hesitate to ask
  451. me further questions.
  452.  
  453. -Greg
  454.  
  455. Date: Mon, 27 Jan 1992 18:38:06 EST
  456. From: MICHAEL DONN <donnmr@matai.vuw.ac.nz>
  457. To: greg@hobbes.lbl.gov
  458. Subject: Daylighting models in RADIANCE 2.0
  459.  
  460. We are trying to model the "real" sky using radiance and wish to test a
  461. couple of simple buildings against our artificial sky (a mirror box) which
  462. we have evaluated against real measurements in a real building we analysed
  463. for the architects last year. Our difficulty is knowing exactly what gensky is
  464. modelling. As we are using an artificial sky, there are all the usual problems
  465. of defining what is typical overcast cloudy sky luminance, and what its
  466. distribution is. 
  467.  
  468. Some of our problem is in knowing exactly what the -av parameter does in Rpict;
  469. it is also in knowing what parameters to input to skyfunc in order to 
  470. properly model the sky clearness etc; and, it is also to model the sun's
  471. luminance allowing for local conditions as precisely as we can.
  472.  
  473. In summary, in order to calibrate RADIANCE, we are modelling a simple grey box
  474. with one window, and comparing the daylight factors, and the actual light
  475. levels predicted against each other, and need to know as much about the 
  476. assumptions behind the RADIANCE values as we do about the other mirror box 
  477. values.
  478.  
  479. From greg Mon Jan 27 09:02:00 1992
  480. Return-Path: <greg>
  481. Date: Mon, 27 Jan 92 09:01:53 PST
  482. From: greg (Gregory J. Ward)
  483. To: donnmr@matai.vuw.ac.nz
  484. Subject: Re:  Daylighting models in RADIANCE 2.0
  485. Status: RO
  486.  
  487. The gensky program in Radiance uses the standard CIE distributions for
  488. clear and overcast skies.  The precise formulas used are in the source
  489. file ray/src/gen/gensky.c and ray/src/gen/sun.c and the function file
  490. ray/lib/skybright.cal.  This function file is where the actual distribution
  491. is calculated, using the zenith luminance and ground luminance values
  492. plus the sun direction given by gensky.
  493.  
  494. Zenith brightness is calculated from the solar altitude and atmospheric
  495. turbidity using a formula developed from data gathered in San Francisco,
  496. which may not be very accurate for other places on the globe.  For better
  497. control, it is preferable to measure or assume a certain zenith brightness
  498. and give it directly to gensky using the -b option.
  499.  
  500. It is not too difficult to develop your own function file to specify
  501. whatever sky distribution you like.  Gensky is provided only as a basic
  502. skylight approximation.
  503.  
  504. -Greg
  505.  
  506. Date: Mon, 16 Mar 92 18:46:08 PST
  507. From: greg (Gregory J. Ward)
  508. To: edu@leicester-poly.ac.uk
  509. Subject: Re:  daylighting
  510.  
  511. Hi John,
  512.  
  513. Thanks for your recent letter.  I will attempt to answer your questions:
  514.  
  515. > a)  Having used mkillum for the windows, will one or more ambient bounces for
  516. > the interior space only re-distribute light in the space (necessary if
  517. > light-shelves etc. are present) or will the mkiwindow description allow more
  518. > light from the outside to enter the space messing up the calculation?
  519. > Perhaps a note could be added to the Tutorial about this.
  520.  
  521. The illum created by mkillum will block all "ambient" rays during the
  522. calculation, maintaining the correct energy balance.  You can set the
  523. -ab parameter to whatever value you like, as it will only be used to
  524. compute interreflection within the space.  (That is, assuming you don't
  525. have any cracks or other places where light might leak through.)  I will
  526. try and add an appropriate note to the tutorial, as you suggest.
  527.  
  528. > b)  I would appreciate some guidance about appropriate values of av to use in a
  529. > simulation and how they are determined.
  530.  
  531. I wish I had a definitive answer to this question.  Unfortunately, there is
  532. no general way to set the ambient value that works for every scene.  My best
  533. recommendation is to use rview in the following manner.  Start the program
  534. with the -ab parameter set to 1.  Run it for a short while at an appropriate
  535. viewpoint, then set ab to zero using the command "set ab 0".  Immediately
  536. afterwards, try setting the av parameter to different values until the
  537. new pixels being computed seem to match fairly well to the original ones
  538. computed when the interreflection calculation was on.  (If you're clever,
  539. you can figure out a ballpark starting value but I think I'd have to 
  540. show you how.)  I suggest that you set a grey ambient value for the most
  541. natural color rendering (eg. av .5 .5 .5).
  542.  
  543. Alternatively, it is possible to compute an approximate value for the
  544. -av parameter based on room reflectances and light source intensities,
  545. but this does not work very well in daylight situations.
  546.  
  547. > c)  The dayfact script.  I have been looking at ways of speeding this up, using
  548. > a coarser grid and larger radius for filtering is a possibility (I suspect i'm
  549. > not using the most efficient a* settings either).  On the practical side I
  550. > have modified it produce 10 contour levels up to a maximum of DF = 10, 20 or
  551. > 40, depending on the users expectation.  Also, it's worth keeping the pic file
  552. > in the event of a poorly chosen range of levels.  Since, i'd prefer lines,
  553. > and since these appear mid-way between markers, i'll try to find a way to set
  554. > the marker to match the contour level directly above.   Do you want me to send
  555. > you the end product?  Also, the conversion factor to Lux is 470, should it
  556. > be 179?
  557.  
  558. Didn't I send you my repaired version of dayfact?  I thought I had fixed the
  559. incorrect value of 470 and also made it keep the pic files around.  I can
  560. send the latest for you to work on if you like.  I would like to see your
  561. finished product, but it would be better if you started with the most current
  562. version!
  563.  
  564. > d)  Am I right in thinking that I can use the indirect calculation as long as
  565. > I don't have any reflecting surfaces exterior to the building?  Or do I just
  566. > have to get rid of the ground plane.
  567.  
  568. You should always be able to use the indirect calculation, it just so happens
  569. that it doesn't work very well when you have a large ground plane due to the
  570. adaptive sampling algorithm used in 2.0.  (Thank you, by the way, for showing
  571. me just how bad it can be!)  You are better off getting rid of the groundplane
  572. and just using a light source or illum for the window with the skyfunc
  573. distribution, which already accounts for reflection from a groundplane.
  574. If you have external reflecting surfaces, then you must either use mkillum
  575. (recommended) or an interreflection calculation.  If you use an interreflection
  576. calculation with 2.0, then you had better make the ground plane small or get
  577. rid of it altogether.  If you want to have other external surfaces, that
  578. should still work.  (I apologize for this rather convoluted answer.
  579. I hope you managed to untangle my meaning.)
  580.  
  581. -Greg
  582.  
  583. From: Environmental Design Unit <edu@leicester-poly.ac.uk>
  584. Date: Mon, 30 Mar 92 14:03:03 BST
  585. To: greg@hobbes.lbl.gov
  586. Subject: Daylighting Calculations
  587.  
  588. Hello Greg,
  589.  
  590. A hue-sat color wheel would be nice addition, especially for colour matching
  591. paint samples.  In the meantime, a cut-down list of colours from rgb.txt
  592. does fine.
  593.  
  594. Just for a change, i'd like to ask you some questions about daylighting
  595. calculations.
  596.  
  597.  
  598. a)  Sky models and conversions factors.
  599.  
  600. The zenith radiance is evaluated in "gensky.c" as 
  601.  
  602.               if (cloudy) {
  603.                       zenithbr = 8.6*sundir[2] + .123;
  604.                       zenithbr *= 1000.0/SKYEFFICACY;
  605.               } else {
  606.  
  607. and ground radiance as
  608.  
  609.       if (cloudy) {
  610.               groundbr = zenithbr*0.777778;
  611.               printf("# Ground ambient level: %f\n", groundbr);
  612.       } else {
  613.  
  614.  
  615. and horizontal illuminance in lux is simply
  616.  
  617. ground ambient level * PI * luminous efficacy.
  618.  
  619. O.K. so far, but the luminous efficacy definitions in "color.h"
  620. have me confused -
  621.  
  622.                 /* luminous efficacies over visible spectrum */
  623. #define  MAXEFFICACY        683.        /* defined maximum at 550 nm */
  624. #define  WHTEFFICACY        179.        /* uniform white light */
  625. #define  D65EFFICACY        203.        /* standard illuminant D65 */
  626. #define  INCEFFICACY        160.        /* illuminant A (incand.) */
  627. #define  SUNEFFICACY        208.        /* illuminant B (solar dir.) */
  628. #define  SKYEFFICACY        D65EFFICACY    /* skylight */
  629. #define  DAYEFFICACY        D65EFFICACY    /* combined sky and solar */
  630.  
  631. It looks as if the zenithbr for a cloudy sky is defined in terms of
  632. lum eff = 203 lum/W, whilst the multiplier in "dayfact" is 179 lum/W.
  633. Am I missing the point somewhere?  I have tried, without much success, to
  634. locate papers/texts on sky models and luminous efficacy values for my own
  635. notes.  I would appreciate some recommendations if you have them to hand.
  636.  
  637. b)  Dayfact output.
  638.  
  639. The "dayfact" pictures showing daylight factors and lux levels for our
  640. new engineering building (floor plan 25m by 7m, 56 windows and light
  641. shelves) was not terribly satisfactory - bands (and lines) were broken
  642. and it was difficult to determine the areas they enclosed.  However,
  643. gaussian filtering of the saved illuminance picture improved matters
  644. greatly.  Single pass filtering with r=3 proved enough for bands - pictures
  645. with lines were even better.  Do you want me to mail you results as a
  646. uuencoded tar.Z file? [size < 1Mb]
  647.  
  648. I wanted to compare the effects of filtering at different radii in one
  649. picture by using "pcompos" to put four illuminance pictures in columns to
  650. make one illuminance picture file for "dayfact".  This strategy would be
  651. useful for comparing the consequences of the different a options
  652. for "rtrace".  To my surprise, "dayfact" determined lux values for the
  653. combined pictures approx 1/4 what they were for individual pics!  So,
  654. stroke monolith, toss bone in air... four pics, 1/4 the lux values, something
  655. to do with the area or num of pics?  Looked closely at "falsecolor"
  656. and "dayfact" scripts, but couldn't find where picture area was significant.
  657.  
  658. c)  Changes to dayfact.
  659.  
  660. For my own use i've set ten bands/lines for df and lux
  661. pics and default maximum values for both.  Lines do show up better than bands,
  662. especially after r=3 filtering, but the problem remains about the values appearing
  663. midway.  Could you suggest a fix for this.  For a linear scale, adding the smallest
  664. value to each of the values in the list would cure it, as long as we remember
  665. that the number refers to the line above.  The scales would come out better also e.g
  666. 0.5, 1.0, 1.5... instead of 0.25, 0.75, 1.25... ( for -s 10 -n 10 ).  I would
  667. like to use "dayfact" on multiple illuminance pictures of the same scene, if you
  668. confirm that it simply scales with the number of pics in the composite I will
  669. add a multiplier option also.  Not forgetting, large radius filtering to smooth
  670. the illuminance picture.
  671.  
  672. I think this is everything .... for the moment.
  673.  
  674. As always, thanks for the continued support.
  675.  
  676. -John Mardaljevic    edu@leicp.ac.uk
  677.  
  678. Date: Mon, 6 Apr 92 17:55:27 PDT
  679. From: greg (Gregory J. Ward)
  680. To: edu@leicester-poly.ac.uk
  681. Subject: Re:  Daylighting Calculations
  682.  
  683. Hello John,
  684.  
  685. Sorry for the delay in my response.  I was away at a meeting.
  686.  
  687. a) Sky models and conversion factors
  688.  
  689. The efficacy values listed in color.h are over the visible spectrum only,
  690. so may disagree with some other values you have seen.  You are correct
  691. in pointing out the discrepancy between the value used in gensky.c vs.
  692. the value used in the dayfact script.  To reproduce the original photmetric
  693. values, these two factors should be identical if a grey sky were used.  Since
  694. the sky is not white, we should be using a different value to account for
  695. the relative efficiency of the sky's spectrum, coupled with an appropriate
  696. RGB multiplier on the source in the scene file.  Unfortunately, I did not
  697. have a good spectral curve for the sky, so I used the CIE standard for the
  698. combined sun and sky, D65.  Now that you raised the topic for reexamination,
  699. though, I see that the choice of D65EFFICACY was not a good one because
  700. the efficacy of the sky should be lower than white light due to its
  701. bluish tint, not higher.
  702.  
  703. The correct sky efficacy should be something like 162, which when combined
  704. with an RGB color of .8 .9 1.3 would yeild approximately the correct result.
  705. Since I don't know what it really should be, you can adjust your RGB color
  706. to 1 1.126 1.626 and you should get the right luminances, anyway.
  707.  
  708. I should change this stuff.  I only wish I had some decent references myself.
  709.  
  710. b) Dayfact output
  711.  
  712. I do not know where the factor of 1/4 could be coming from.  Please send
  713. me a more detailed description of this problem, using "getinfo" to send
  714. me the headers of the resulting renegade pictures.
  715.  
  716. c) Changes to dayfact
  717.  
  718. I have modified the script px/falsecolor.csh to put the contour lines
  719. on the values rather than between.  I should have done it this way to
  720. begin with.  You only need to change the following line from:
  721.  
  722.     boundary(a,b) : neq(floor(ndivs*a),floor(ndivs*b));
  723.  
  724. to:
  725.  
  726.     boundary(a,b) : neq(floor(ndivs*a+.5),floor(ndivs*b+.5));
  727.  
  728. Then copy the file to falsecolor in your executable directory.
  729.  
  730. -Greg
  731.  
  732. =================================================================
  733. LUMINOUS_EFFICACY
  734.  
  735. Date: Wed, 29 Jan 92 07:42:35 EST
  736. From: spencer@cgrg.ohio-state.edu (Stephen N. Spencer)
  737. To: gjward@lbl.gov
  738. Subject: Differences in Radiance v2.0?
  739.  
  740. Greg, we've been testing Radiance v2.0 (the scanline-fixed version) and have
  741. come up with some differences in how images look.  In specific, light sources
  742. seem to be brighter in version 2.0 than in version 1.4.
  743.  
  744. I can upload a pair of images, both calculated with the same script, one under
  745. 1.4 and one under 2.0, if you'd like to look at them, to get a better idea of
  746. what I mean.  
  747.  
  748. I honestly don't know if it is an enhancement (read: the 1.4 method wasn't 
  749. correct) or if it is a bug (read: the 2.0 method isn't correct) so I'd like to
  750. understand why these images are different.
  751.  
  752. Stephen N. Spencer               |                      Ride Bike!  ,__o
  753. ACCAD - The Ohio State University    |                                _-\_<,
  754. 1224 Kinnear Road Columbus OH 43212  | Indigo Girls Mailing List:    (*)/'(*)
  755. spencer@cgrg.ohio-state.edu         | indigo-girls-request@cgrg.ohio-state.edu
  756.        "Usenet is like Tetris for people who still remember how to read."
  757.  
  758. Date: Wed, 29 Jan 92 09:11:40 PST
  759. From: greg (Gregory J. Ward)
  760. To: spencer@cgrg.ohio-state.edu
  761. Subject: Re:  Differences in Radiance v2.0?
  762.  
  763. Hi Steve,
  764.  
  765. Before you upload your images and scripts, let me suggest a possible cause
  766. and you can decide if this is what's happening.
  767.  
  768. Between version 1.4 and 2.0, I corrected the value for the luminous efficacy
  769. of white light from 470 lumens/watt down to 179 lumens/watt.  This value
  770. is used at two points in a normal calculation.  First, to convert light
  771. fixture lumens to watts in ies2rad or a manual conversion process.  Second,
  772. to convert watts back to lumens in ximage or similar programs that display
  773. luminance values.  Since the conversion value is used in a reciprical
  774. fashion in these two steps, the overall effect is null as long as the
  775. same value is used each time.
  776.  
  777. However, if you are judging by picture "brightness", ie. exposure value
  778. and screen brightness, using the same initial IES file as version 1.4 of
  779. Radiance, you will see a difference because version 2.0 uses a smaller
  780. value for luminous efficacy and thus produces brighter images.  The new
  781. version is more correct.
  782.  
  783. You can read about this change a bit more in the ReleaseNotes file in the
  784. ray/doc/notes subdirectory of the distribution.
  785.  
  786. -Greg
  787.  
  788. ===================================================================
  789. RPICT_PARAMETERS
  790.  
  791. Date: Thu, 30 Jan 92 11:41:57 PST
  792. From: greg (Gregory J. Ward)
  793. FAXnumber: 01149866933541
  794. FAXfrom: "Greg Ward, Lighting Research, LBL, (510) 486-4757, fax 4089"
  795. FAXto: "Martin Mock, ABT ASIV43/LIZ"
  796.  
  797. Hi Martin,
  798.  
  799. Here goes with my best shot at explaining the rpict parameters.  The
  800. "min" value gives the fastest, crudest rendering.  It is not
  801. necessarily the smallest value numerically.  The "fast" value gives
  802. a reasonably fast rendering.  The "accur" value gives a reasonably
  803. accurate rendering.  The "max" value gives the ultimate in accuracy.
  804.  
  805. Param    Description        Min    Fast    Accur    Max    Notes
  806. =====    ====================    =====    =====    =====    =====    =====
  807. -sp    pixel sampling rate    16    8    4    1
  808. -st    sampling threshold    1    .15    .05    0
  809. -sj    anti-aliasing jitter    0    .6    .9    1    A
  810. -dj    source jitter        0    0    .7    1    B
  811. -ds    source substructuring    0    .5    .15    .02
  812. -dt    direct thresholding    1    .5    .05    0
  813. -dc    direct certainty    0    .25    .5    1
  814.  
  815. NOTES:
  816.     A) This option does not affect the rendering time
  817.     B) This option adversely affects image sampling (ie. use -sp 1)
  818.  
  819. In the next version of Radiance (2.1), the options -sp, -sj and -st will
  820. be renamed -ps, -pj and -pt, respectively.  This is to avoid conflict
  821. with some new options that will be added for sampling semi-specular
  822. reflections.
  823.  
  824. In general, jittering is a way to reduce image artifacts by
  825. introducing Monte Carlo sampling into the rendering process.  This
  826. technique was introduced by Rob Cook in his landmark paper on
  827. "Distributed Ray Tracing" in the 1984 Siggraph proceedings.
  828.  
  829. If you want more information on the sampling techniques used in the
  830. direct lighting calculation, you should read the paper I wrote for
  831. the 1991 Eurographics Rendering Workshop.  I have sent you a copy.
  832.  
  833. Hope this helps explain things a little.
  834. -Greg
  835.  
  836. ========================================================================
  837. GENSURF
  838.  
  839. To: greg@hobbes.lbl.gov
  840. Date: Fri, 31 Jan 92 8:38:23 CST
  841. From: scoggins@mc1.wes.army.mil
  842.  
  843. Hi Greg:
  844.  
  845. I would be interested in trying out you new gensurf.  Jerry Ballard and
  846. I are working on rendering outside scenes using measured terrain elevation
  847. data.  We have been using Radiance and some code Jerry wrote to create
  848. triangular and rectangular polygons.  However the code is not as flexable
  849. as you new gensurf, I'm sure. While your on the line, I would like to ask
  850. you a couple of questions.
  851.  
  852. I am using Radiance to make images of painted surfaces; panels, cylinders,
  853. etc.  These are included in backgrounds of terrain and trees and used to
  854. get an idea about how well camouflage paints work.  One of the primary
  855. interest is in what are termed gloss levels of the paints.  I think this is
  856. the degree of specularity.  Anyway, the people who make the measurements
  857. record the 'glossyness' as a number from 1 to 1000 using a reflectometer
  858. with fixed angles.  They use black glass as a standard which is defined as
  859. a gloss level of 1000.  Do you have any thoughts on how to relate
  860. specularity and roughness to gloss level, or any literature references that
  861. might be helpful ?  I have been doing the work using extremes of
  862. specularity and roughness to simulate paints at different ends of the gloss
  863. level spectrum.
  864.  
  865.  
  866. Another application of Radiance.  I'm also working to try and simulate
  867. surface temperatures of outdoor stuff, landscapes, trees, etc., using
  868. models for conduction and surface energy flux.  One of the biggest
  869. components of the surface energy flux is solar radiation, both direct and
  870. ambient.  I would like to do this for 3-D surface descriptions of the
  871. objects.  I plan to use Radiance to calculate the irradiance at sample
  872. points on the surface of the ground and trees and other things.  I have
  873. made a small modification to rtrace so that I can call it from a C program
  874. with location and surface orientation as arguments and total irradiance as
  875. returned value.  I guess this is not so much of a question as a statement,
  876. but I thought you might have some comments on this.
  877.  
  878. Thanks for the note on gensurf.  Jerry may have already sent you a request
  879. and if so I can just get a copy from him.  Your software has really been a
  880. boost to our work around here and you sure can't beat the price.  Look
  881. forward to your new releases.   Bye for now.
  882.  
  883. One last thing, in the off-the-wall category, do you know of any ftp sources
  884. for L-systems software ?
  885.  
  886.  
  887.  
  888.                     Randy Scoggins
  889.                     US Army Engineer
  890.                     Waterways Experiment Station
  891.  
  892.                     scoggins@mc1.wes.army.mil
  893.                     
  894.  
  895. Date: Fri, 31 Jan 92 09:47:17 PST
  896. From: greg (Gregory J. Ward)
  897. To: scoggins@mc1.wes.army.mil
  898. Subject: gensurf and misc.
  899.  
  900. Hi Randy,
  901.  
  902. I sent Jerrell a copy of the new gensurf program.  I actually thought of
  903. you folks right away as possible testers, but wasn't sure if you had the
  904. time.
  905.  
  906. I have only one reference on gloss and how it is measured, and I'm not
  907. sure how to relate it to any physical surface parameters.  The measurement
  908. technique is strictly relative, and doesn't really correlate to anything
  909. but itself.  The fact that it combines overall specular reflectance with
  910. polish is a real problem.  In effect, you have a single measurement where
  911. two are required at the very least.  If you can make some assumptions about
  912. the index of refraction of the material involved, then you may be able to
  913. back this out since specular reflectance can be calculated from Fresnel's law.
  914. What you will discover is that non-metals never have a specularity greater
  915. than .05 or so.
  916.  
  917. Calling rtrace from a program is quite useful, and I do it in several of my
  918. programs.  You can check out the module ray/src/util/glareval.c and
  919. also ray/src/gen/mkillum2.c.  I use the communication routines in
  920. ray/src/common/process.c to connect to rtrace via dual pipes, so I don't
  921. have to have a separate compiled version of the program.
  922.  
  923. As for L-systems, I only know of the Mac program made available by Paul
  924. Bourke of New Zealand.  You can pick it up from the pub/mac directory
  925. on hobbes.lbl.gov (128.3.12.38) via anonymous ftp.  I don't know about
  926. source code, but you might try contacting Paul directly.  His e-mail
  927. is  pdbourke@ccu1.aukuni.ac.nz.
  928.  
  929. Let me know if you have any success with gensurf!
  930.  
  931. -Greg
  932.  
  933. Date: Tue, 4 Feb 92 13:59:49 PST
  934. From: Chris Toshok <toshok901@snake.cs.uidaho.edu>
  935. To: greg@hobbes.lbl.gov
  936.  
  937.  
  938.   Hi Greg.
  939.  
  940.    I am working on tracing Newell's teapot using radiance (it would make a 
  941.  very interesting object) but am have trouble understanding how to implement
  942.  bezier patches using gensurf.  I have all the controls points for the patches,
  943.  and they are cubic, which is what gensurf uses (i hope), but I can't figure
  944.  out what the five values gensurf wants for each bezier curve.  I have mapped
  945.  out all the control points onto 4x4 grids which I was going to use, but not
  946.  all the coordinates have the same x,y, or z values.  How can I generate a 
  947.  patch with gensurf when only 5 values can be given for each function x,y and
  948.  z.  Is gensurf capable of producing representations of three dimensional 
  949.  cubic bezier patches? If not, I'll have to write one, and although I am up to
  950.  the task, I would much rather use gensurf.
  951.                         Help....
  952.                                Chris 
  953.  
  954.  
  955. Date: Tue, 4 Feb 92 20:40:03 PST
  956. From: greg (Gregory J. Ward)
  957. To: toshok901@snake.cs.uidaho.edu
  958. Subject: The Teapot
  959.  
  960. Hi Chris,
  961.  
  962. The bezier function defined by gensurf is merely the 1-dimensional Bezier
  963. polynomial.  It is up to you, the user, to make it into a 2-dimensional
  964. patch and give it the control points.  This is not too difficult to do,
  965. provided that you know something about the language that gensurf (and
  966. many other programs in Radiance) use.  Unfortunately, I haven't documented
  967. the language very well, so here are some pointers.
  968.  
  969. Start with the following file to define a 3-dimensional bicubic Bezier
  970. surface in terms of the 1-dimensional Bezier polynomial:
  971. ::::::::::
  972. bezier.cal
  973. ::::::::::
  974. {
  975.     Bicubic Bezier Patch
  976.  
  977.     02Mar90
  978.  
  979.     Define Px(i,j), Py(i,j), Pz(i,j)
  980. }
  981.  
  982. x(s,t) = bezier(P2x(s,1), P2x(s,2), P2x(s,3), P2x(s,4), t);
  983. y(s,t) = bezier(P2y(s,1), P2y(s,2), P2y(s,3), P2y(s,4), t);
  984. z(s,t) = bezier(P2z(s,1), P2z(s,2), P2z(s,3), P2z(s,4), t);
  985.  
  986. P2x(s,j) = bezier(Px(1,j), Px(2,j), Px(3,j), Px(4,j), s);
  987. P2y(s,j) = bezier(Py(1,j), Py(2,j), Py(3,j), Py(4,j), s);
  988. P2z(s,j) = bezier(Pz(1,j), Pz(2,j), Pz(3,j), Pz(4,j), s);
  989.  
  990. { I have commented out the definition of the Bezier polynomial below, since it
  991.     is defined internally by gensurf and executes a little faster there. }
  992. {
  993. bezier(p1, p2, p3, p4, t) =     p1 * (1+t*(-3+t*(3-t))) +
  994.                 p2 * 3*t*(1+t*(-2+t)) +
  995.                 p3 * 3*t*t*(1-t) +
  996.                 p4 * t*t*t ;
  997. }
  998. _EOF_
  999.  
  1000. Then, you must create a separate file for each bicubic patch on the teapot,
  1001. using the following format:
  1002. ::::::::::
  1003. patchN.cal
  1004. ::::::::::
  1005. {
  1006.     Bicubic Bezier patch number N
  1007. }
  1008. Px(i,j) = select((i-1)*4+j,        { first index major, second minor }
  1009.     3.51, 89.218, 15.38, 17.38,
  1010.     5.81, 83.11, 19.635, 14.91,
  1011.     6.38, 75.83, 25.183, 18.18,
  1012.     7.91, 70.31, 22.83, 19.83
  1013.     );
  1014. Py(i,j) = select((i-1)*4+j,
  1015.     { 16 more Bezier points }
  1016.     );
  1017. Py(i,j) = select((i-1)*4+j,
  1018.     { and another 16 }
  1019.     );
  1020. _EOF_
  1021.  
  1022. You'll notice that it is necessary to manipulate the data in order to get
  1023. the points in a form that can be easily digested by gensurf.  A short
  1024. C program should do the trick.
  1025.  
  1026. Once you have all your patch files together, you can create the actual
  1027. Radiance input file for the teapot, which will look something like this:
  1028. ::::::::::
  1029. teapot.rad
  1030. ::::::::::
  1031. #
  1032. # The (in)famous Utah Teapot
  1033. #
  1034.  
  1035. void metal copper
  1036. 0
  1037. 0
  1038. 5 .8 .5 .02 .9 0
  1039.  
  1040. !gensurf copper patch1 'x(s,t)' 'y(s,t)' 'z(s,t)' 8 8 -s \
  1041.         -f bezier.cal -f patch1.cal
  1042.  
  1043. !gensurf copper patch2 'x(s,t)' 'y(s,t)' 'z(s,t)' 8 8 -s \
  1044.         -f bezier.cal -f patch2.cal
  1045.  
  1046. !gensurf copper patch3 'x(s,t)' 'y(s,t)' 'z(s,t)' 8 8 -s \
  1047.         -f bezier.cal -f patch3.cal
  1048.  
  1049. # and so on...
  1050. _EOF_
  1051.  
  1052. The -s option to gensurf will create smoother-looking patches by using
  1053. Phong surface normal interpolation.  You may also want to create this
  1054. file using a C program.
  1055.  
  1056. Let me know if I can be of any further assistance.
  1057. -Greg
  1058.  
  1059. ==================================================================
  1060. ALIASING
  1061.  
  1062. From: Nick (Nikolaos) C. Fotis <nfotis@theseas.ntua.gr>
  1063. Subject: Various
  1064. To: gjward@lbl.gov (Greg Ward)
  1065. Date: Mon, 10 Feb 92 3:56:26 EET
  1066.  
  1067. Dear Mr. Ward,
  1068.  
  1069. as I finished the last exam for the semester, I anxiously proceeded
  1070. to our beloved (except that awful keyboard!) Snake to test your code.
  1071.  
  1072. I tried the H-P oriented malloc(). It seems to work fine!
  1073. Don't know about speed, though. It's faster than the old way?
  1074. I hope to test the same malloc.c with the DECstations we have here.
  1075.  
  1076. (And the new gensurf has compiled ok, but I still don't know how to use it!
  1077.  ie. How I supply the height field data to this module??)
  1078.  
  1079. a. I had  a small problem:
  1080.  
  1081. nfotis@kentayros
  1082. 10:43pm  114   /usr/tmp/nfotis/ray/obj/office > make 
  1083.         oconv model.b90 desk misc > modelb.oct
  1084. xform: (cornerdesk.norm): bad brightfunc "ygrain"
  1085. oconv: fatal - (!xform -e -s 4 -ry 90 -t -28 15.5 28 cornerdesk.norm): bad arguments for brightfunc "ygrain"
  1086. *** Error code 1
  1087.  
  1088. ----
  1089.  
  1090. I had to change the relative line in cornerdesk.norm, from
  1091. 2 ygrain woodpat.cal -s .05
  1092. to
  1093. 4 ygrain woodpat.cal -s .05
  1094.  
  1095. ---
  1096. and everything seemed to work OK here (I suppose)
  1097. (your wood texture seems better than the previous - I may be wrong of course!)
  1098.  
  1099. b. I feel uneasy about the texture example. In particular, the text is not
  1100. very clean, and I feel that it has to do with the way your code samples
  1101. intensities across surfaces (I don't really know, since I just use the
  1102. system). Also the orange ball seems rather strange.
  1103. Perhaps I should send you a UUencoded image??
  1104.  
  1105. c. About oversampling and then postfiltering the results:
  1106. The idea is rather sound, but some hard spots remain, like venetian
  1107. blinds. Perhaps the ray-tracer could get a jittered  sampling option?
  1108. (These blinds tend to show some VERY annoying staircase-like patterns,
  1109.  even if I use pfilt with -r 0.7 and slash by 3 the resolution of the
  1110.  original image :-( )
  1111.  
  1112. Another trouble spot seems to be the text rendering in general. Maybe
  1113. I'll try to transfer to PAL video tape the filtered images (or at least
  1114. to see them on a 24-bit device!)
  1115.  
  1116. d. I'm constructing a Frequently Asked Questions message for the
  1117. comp.graphics USENET newsgroup, and I would like to include a 1-2
  1118. paragraph description of the system. Here's the present description:
  1119.  
  1120. RADIANCE 2.0:
  1121. ------------
  1122. In a short sentence, It's a ray-tracer with radiosity effects.
  1123. I'm using it on a HP 9000/720, and it's different from the rest
  1124. (If you've seen radiosity-generated images, you know what I mean)
  1125.  
  1126. Clearly, this doesn't do justice to your program! ;-)
  1127.  
  1128. e. I would like for a copy of your theoretic works (from the tail of the
  1129.    ray.1 manual):
  1130.  
  1131. Ward, G.,  ``Adaptive  Shadow  Testing  for  Ray  Tracing,''
  1132. Second Annual Eurographics Workshop on Rendering, to be pub-
  1133. lished by Springer-Verlag, May 1991.
  1134.  
  1135. Ward, G., ``Visualization,'' Lighting  Design  and  Applica-
  1136. tion, Vol. 20, No. 6, June 1990.
  1137.  
  1138. Ward, G., F. Rubinstein, R. Clear, ``A Ray Tracing  Solution
  1139. for  Diffuse  Interreflection,'' Computer Graphics, Vol. 22,
  1140. No. 4, August 1988.
  1141.  
  1142. Ward, G., F. Rubinstein,  ``A  New  Technique  for  Computer
  1143. Simulation   of   Illuminated   Spaces,''   Journal  of  the
  1144. Illuminating Engineering Society, Vol.  17,  No.  1,  Winter
  1145. 1988.
  1146.  
  1147. I would be grateful if you could send me a copy.
  1148.  
  1149. Greetings,
  1150. Nick.
  1151.  
  1152.  
  1153. -- 
  1154. Nikolaos Fotis            National Technical Univ. of Athens, Greece
  1155. 16 Esperidon St.,        UUCP:    mcsun!ariadne!theseas!nfotis
  1156. Halandri, GR - 152 32        or InterNet : nfotis@theseas.ntua.gr
  1157. Athens, GREECE            FAX: (+30 1) 77 84 578
  1158.  
  1159. Date: Mon, 10 Feb 92 09:43:08 PST
  1160. From: greg (Gregory J. Ward)
  1161. To: nfotis@theseas.ntua.gr
  1162. Subject: Re:  Various
  1163.  
  1164. Hi Nick,
  1165.  
  1166. The new version of malloc should be as fast or faster than anyone else's
  1167. implementation, with more efficient memory use for my programs.
  1168.  
  1169. Try following the example at the end of the new gensurf man page to
  1170. generate a height field.  If it is still confusing to you, I would be
  1171. happy to answer specific questions.
  1172.  
  1173. a.  Yes, this problem was the result of a careless change I made when
  1174. going over to the new woodgrain.  You fixed it correctly, and the fix
  1175. has been included in the pub/patch directory on hobbes.
  1176.  
  1177. b.  The orange ball in the texture example is meant to appear as an orange.
  1178. There is a 1 Mbyte image of what the finished scene should look like called
  1179. pub/pics/textures.pic.  The orange is an orange, so it has texture and maybe
  1180. that's what looks strange to you.  The text needs to be rendered at a high
  1181. resolution to come out right, and you may have to set the pixel sampling
  1182. rate (-sp) to 1.
  1183.  
  1184. c.  The default pixel jittering (-sj) is .67.  You may increase it if you
  1185. like as high as 1 (full pixel jittering).  A setting of -sj 0 would mean
  1186. no pixel jittering.  As for the staircases you see on venetian blinds,
  1187. this may be a result of the floating point color images more than anything
  1188. else.  Most software clips the high end of an image as its written out,
  1189. before anti-aliasing is performed.  Because Radiance endeavors to represent
  1190. the real values involved, where there is extreme contrast the anti-aliasing
  1191. is less effective.  Imagine you have the following boundary in a 3x3 pixel
  1192. section of your image, representing pixels brightnesses (rather than colors)
  1193. as floating point values:
  1194.  
  1195.     .361    .365    .380
  1196.     .353    .358    1082.
  1197.     .345    1085.    1090.
  1198.  
  1199. In a standard approach, these values would be clipped before the filtering
  1200. takes place, ie:
  1201.  
  1202.     .361    .365    .380
  1203.     .353    .358    1.00
  1204.     .345    1.00    1.00
  1205.  
  1206. The pixels would then be averaged together (assuming 3x3 box filtering) to
  1207. a single pixel value, namely .574.  In Radiance, however, no such clipping
  1208. takes place, and the correct average of 362 is computed.  To display this
  1209. value, we must necessarily clip, but at least we clip to one instead of
  1210. the erroneous value of .574.  Also, the resulting filtered image can be
  1211. scaled in brightness and the result will still be correct -- not true in
  1212. the clipped-then-averaged case.
  1213.  
  1214. However, there is a drawback to using correct math in our calculations.
  1215. Look at the above pattern of pixels.  What if the pixel sample in the upper
  1216. right had landed on the brighter surface rather than the darker surface?
  1217. This is quite possible when using jittered sampling.  Our value may then
  1218. have been around 1000 rather than .380, and our correct average would
  1219. jump from being 362 to 473.  Imagine another case where just one pixel
  1220. in our 3x3 grid is that bright -- this amounts to a huge source of
  1221. uncertainty in the final value.  With the incorrect clip-then-average
  1222. scheme, such large pixel values are never a problem because the result
  1223. is always clipped to a value less than one.
  1224.  
  1225. In short, if a smooth image is more important to you than a correct one,
  1226. you can take the original high-resolution image out of rpict, convert it
  1227. to some 24-bit image type (like TIFF or TARGA), and read it into another
  1228. program such as Adobe's Photoshop to perform the anti-aliasing on the
  1229. clipped image.  If you don't have Photoshop, then I can show you how to
  1230. do it with pcomb, but it's much slower.
  1231.  
  1232. As for text rendering, the problem is probably that you need to increase
  1233. the pixel sampling rate as mentioned before in order to correctly resolve
  1234. the text.  Set -sp to 1 and see if that doesn't solve your problem.  By
  1235. the way, text looks better without pixel jittering (-sj 0)!
  1236.  
  1237. d.  Yes, that description does seem a bit terse.  Please send me your
  1238. description before sending it out, and thanks!
  1239.  
  1240. e.  The papers are on the way.
  1241.  
  1242. Regarding the animation, it is only camera motion and I picked the
  1243. keyframes with rview.
  1244.  
  1245. -Greg
  1246.  
  1247. From: Nick (Nikolaos) C. Fotis <nfotis@theseas.ntua.gr>
  1248. Subject: Re:  Various
  1249. To: greg@hobbes.lbl.gov (Gregory J. Ward)
  1250. Date: Wed, 12 Feb 92 5:18:01 EET
  1251.  
  1252. > Hi Nick,
  1253. > Try following the example at the end of the new gensurf man page to
  1254. > generate a height field.  If it is still confusing to you, I would be
  1255. > happy to answer specific questions.
  1256.  
  1257. (blush) I had deleted the previous gensurf you sent after the announcement
  1258. of the erroneous part you sent(I had not the time to try it).
  1259. Did you include a manual for gensurf in you first post??
  1260. Please send it to me again...
  1261.  
  1262. > b.  The orange ball in the texture example is meant to appear as an orange.
  1263. > There is a 1 Mbyte image of what the finished scene should look like called
  1264. > pub/pics/textures.pic.  The orange is an orange, so it has texture and maybe
  1265. > that's what looks strange to you.  The text needs to be rendered at a high
  1266. > resolution to come out right, and you may have to set the pixel sampling
  1267. > rate (-sp) to 1.
  1268.  
  1269. It would be nice to have compressed these files, because we're on the Internet
  1270. via a Trailbazer+ modem at 9600 (or 19200?) bps.
  1271. It could make my life much easier....
  1272.  
  1273. In any case, when I tried to display the image, I got an
  1274.  
  1275. ximage: fseek error
  1276.  
  1277. Do your picture files are byte order indepedent? I fear the answer is no :-(
  1278. In any case, I re-rendered the scene with the parameters that you had inside
  1279. the image's header (the new rpict didn't like the -dp .9 parameter, so I
  1280. just left it out..)
  1281.  
  1282. The high-resolution pic was great, so I got assured that there was not
  1283. some flaw to the system (It would't be good for you, no?? ;-) )
  1284.  
  1285. The trouble spot (or artifact, if you prefer) was the extremely high contrast
  1286. of the base surface (white?) with the orange surface that gave to the
  1287. orange ball a rather odd appearance.
  1288.  
  1289. Perhaps you should use something like Sun's XDR??
  1290. I heard that many Unix boxes include these libraries, but I would prefer
  1291. something like the free BRL-CAD's library for network file order and
  1292. reading/writing these data. You could include it on the Radiance distribution,
  1293. making it more immune from changes to its environment.
  1294.  
  1295. > c.  The default pixel jittering (-sj) is .67.  You may increase it if you
  1296. > like as high as 1 (full pixel jittering).  A setting of -sj 0 would mean
  1297.  
  1298. Ahh, I should have RTFMed before I ask such a question!!
  1299.  
  1300. > no pixel jittering.  As for the staircases you see on venetian blinds,
  1301. > this may be a result of the floating point color images more than anything
  1302. > else.  Most software clips the high end of an image as its written out,
  1303. > before anti-aliasing is performed.  Because Radiance endeavors to represent
  1304. > the real values involved, where there is extreme contrast the anti-aliasing
  1305. > is less effective.  Imagine you have the following boundary in a 3x3 pixel
  1306. > section of your image, representing pixels brightnesses (rather than colors)
  1307. > as floating point values:
  1308.  
  1309. Hmmmm... I know that the human eye is not linearly sensitive to the various
  1310. brightness levels you present to it. You could do (perhaps) a logarithmic
  1311. hack to scale the values to the range 0..255??
  1312. But given the VERY wide range possible with FP numbers, I feel it's at best
  1313. a challenge...
  1314.  
  1315. [etc]
  1316. > However, there is a drawback to using correct math in our calculations.
  1317. > Look at the above pattern of pixels.  What if the pixel sample in the upper
  1318. > right had landed on the brighter surface rather than the darker surface?
  1319. > This is quite possible when using jittered sampling.  Our value may then
  1320. > have been around 1000 rather than .380, and our correct average would
  1321. > jump from being 362 to 473.  Imagine another case where just one pixel
  1322. > in our 3x3 grid is that bright -- this amounts to a huge source of
  1323. > uncertainty in the final value.  With the incorrect clip-then-average
  1324.  
  1325. And I thought that a 3-fold increase in dimensions plus gaussian filtering
  1326. would take good care of all these problems... Going to 4-fold sizes is a VERY
  1327. expensive proposition (and again, it may be not enough)
  1328.  
  1329. > scheme, such large pixel values are never a problem because the result
  1330. > is always clipped to a value less than one.
  1331. > In short, if a smooth image is more important to you than a correct one,
  1332.  
  1333. At this time, I'm interested in artistically "correct" images.
  1334. When I take the Photometry course, of course my interests will be the other
  1335. way around...
  1336. (Your programs made me thinking about it. Seriously!)
  1337.  
  1338. > you can take the original high-resolution image out of rpict, convert it
  1339. > to some 24-bit image type (like TIFF or TARGA), and read it into another
  1340. > program such as Adobe's Photoshop to perform the anti-aliasing on the
  1341. > clipped image.  If you don't have Photoshop, then I can show you how to
  1342. > do it with pcomb, but it's much slower.
  1343.  
  1344. Since we don't have Macintoshes lying around here, I'm forced to the UNIX
  1345. route (not that I feel bad about it! ;-) ). And the file transfer to a Mac
  1346. is not that fast (ie.sneakernet).
  1347.  
  1348. What's your recipe about pcomb??
  1349.  
  1350. > As for text rendering, the problem is probably that you need to increase
  1351. > the pixel sampling rate as mentioned before in order to correctly resolve
  1352. > the text.  Set -sp to 1 and see if that doesn't solve your problem.  By
  1353. > the way, text looks better without pixel jittering (-sj 0)!
  1354.  
  1355. I had done a 512x512 rendering, and it didn't seem enough. I'll try it later
  1356. (when your test anim finishes!
  1357. For the anim, I changed the parameters, so I hope to get
  1358. PAL-sized images. I filter down to 760x578, the overscan PAL resolution -
  1359. If I remember correctly the numbers. I put a horizontal field of view of
  1360. 50 degrees. Does the vertical fov changes accordingly??? or I have to set
  1361. this also?)
  1362.  
  1363. > d.  Yes, that description does seem a bit terse.  Please send me your
  1364. > description before sending it out, and thanks!
  1365.  
  1366. See above. I think there's no problem...
  1367. > e.  The papers are on the way.
  1368.  
  1369. Many thanks!!
  1370.  
  1371. > Regarding the animation, it is only camera motion and I picked the
  1372. > keyframes with rview.
  1373.  
  1374. OH! And you got the inbetween numbers with rpict. Correct??
  1375. (I had not seen this potential inside the manuals. Perhaps you should
  1376.  emphasize it in another section? In the other side, I usually play with
  1377.  Radiance somewhat strange hours of the day... And so I'm less than
  1378.  bright when I look at the manuals)
  1379.  
  1380. Greetings,
  1381. Nick.
  1382.  
  1383. Date: Wed, 12 Feb 92 10:50:35 PST
  1384. From: greg (Gregory J. Ward)
  1385. To: nfotis@theseas.ntua.gr
  1386. Subject: Re:  Various
  1387.  
  1388. Hi Nick,
  1389.  
  1390. Did you remember to set binary mode before ftp'ing the image?  The Radiance
  1391. picture format is byte-order independent, and should read correctly when
  1392. transferred between machines.  I'm sorry that I didn't compress the image
  1393. beforehand.  All of those images should be kept compressed.  I will do
  1394. that now.
  1395.  
  1396. The correct scaling of images for viewing is an open research topic.
  1397. A recent paper by Tumblin and Rushmeier suggested the following brightness
  1398. mapping:
  1399.  
  1400. {
  1401.     Mapping of Luminance to Brightness for CRT display.
  1402.     Hand this file to pcomb(1) with the -f option.
  1403.     The picture file should have been run previously through
  1404.     the automatic exposure procedure of pfilt(1), and
  1405.     pcomb should also be given -o option.  Like so:
  1406.  
  1407.     pfilt input.pic | pcomb -f tumblin.cal -o - > output.pic
  1408.  
  1409.     If you are using pcomb from Radiance 1.4, you will have
  1410.     run without pfilt and set the AL constant manually.  If
  1411.     you are using a pcomb version before 1.4, you will have
  1412.     to do this plus change all the colons ':' to equals '='
  1413.     and wait a lot longer for your results.
  1414.  
  1415.     Formulas adapted from Stevens by Tumblin and Rushmeier.
  1416.  
  1417.     28 August 1991
  1418. }
  1419. PI : 3.14159265358979323846;    { Hmm, looks familiar... }
  1420. LAMBERTS : 1e4/PI/179;        { Number of watts/sr/m2 in a Lambert }
  1421. DL : .027;            { Maximum display luminance (Lamberts) }
  1422. AL : .5/le(1)*10^.84/LAMBERTS;    { Adaptation luminance (from exposure) }
  1423.  
  1424. sq(x) : x*x;
  1425. aa(v) : .4*log10(v) + 2.92;
  1426. bb(v) : -.4*sq(log10(v)) + -2.584*log10(v) + 2.0208;
  1427.  
  1428. mult = li(1)^(aa(AL)/aa(DL)-1) * ( 10^((bb(AL)-bb(DL))/aa(DL)) / DL );
  1429.  
  1430. ro = mult*ri(1);
  1431. go = mult*gi(1);
  1432. bo = mult*bi(1);
  1433. --------------------------------
  1434. You can apply this directly with pcomb as shown in the example.  If you
  1435. want to clip the images prior to anti-aliasing reduction with pfilt, just
  1436. apply a function such as 'clip(x)=if(x-1,1,x)' using pcomb, ie:
  1437.  
  1438.     % pcomb -e 'ro=clip(ri(1));go=clip(gi(1));bo=clip(bi(1))' \
  1439.         -e 'clip(x)=if(x-1,1,x)' adjusted.pic \
  1440.         | pfilt -x /3 -y /3 -1 -r .67 > final.pic
  1441.  
  1442. Note that "adjusted.pic" must already be set to the desired exposure level
  1443. with a previous run of pfilt.  Alternatively, if you know the correct
  1444. exposure scaling, you can set it with a "-s expval" option to pcomb 
  1445. immediately before the original picture.
  1446.  
  1447. Regarding your changes to and problems with the animation script, perhaps
  1448. you could send it to me.  The vertical field of view is not altered by
  1449. the horizontal setting.  Rather, the image height or width is adjusted
  1450. down to insure that the specified pixel aspect ratio (if non-zero) is met.
  1451. If the aspect ratio (-p option) is set to zero, then you will get exactly
  1452. what you ask for in terms of x and y image resolution.
  1453.  
  1454. The inbetween frame position are actually calculated by rcalc using the
  1455. Catmull-Rolm spline algorithm in spline.cal.  None of this is well-
  1456. documented as I have never gotten around to making a nice walkthrough
  1457. animation executor.  I believe Paul Bourke and the folks in New Zealand
  1458. may be working on one.  (pdbourke@ccu1.aukuni.ac.nz)
  1459.  
  1460. -Greg
  1461.  
  1462. =============================================================
  1463. SHARED_PICTURES
  1464.  
  1465. From: Alexander Keith Barber <barber@ravl.rice.edu>
  1466. Subject: Rice U Renderings
  1467. To: greg@hobbes.lbl.gov
  1468. Date: Tue, 11 Feb 92 17:20:07 CST
  1469.  
  1470. Greg - 
  1471.  
  1472. I just uploaded 3 pictures along with a README in a tar.Z file to the xfer
  1473. directory of hobbes.  I hope people will pull them down and view them; I would
  1474. like people to see what sort of large scale renderings are possible with
  1475. Radiance.  Perhaps you could tell people on the mailing list about these
  1476. pictures?  Despite the fact that the .rad file used for these .pics is several
  1477. megs, as is the octree, the longest rendering time was one and a half hours.
  1478. The shortest time was a quarter hour for a 512x512 version of the large aerial
  1479. view included here.  I just love the processing speed of a Unix platform.  I
  1480. hate to think how long these would take in Autocad...  I've seen _hidden line_
  1481. drawings alone take hours...
  1482.  
  1483. Alex Barber
  1484. barber@comet.rice.edu
  1485.  
  1486.  
  1487. Date: Tue, 11 Feb 92 17:38:45 PST
  1488. From: greg (Gregory J. Ward)
  1489. To: barber@ravl.rice.edu
  1490. Subject: Re:  Rice U Renderings
  1491.  
  1492. Hi Alex,
  1493.  
  1494. Thanks for your contributions.  I would like to encourage more such
  1495. contributions from others, but I'm not sure I have enough disk space to
  1496. hold them.  
  1497.  
  1498. Generally, I only ask people who want to share to share the .rad files
  1499. in compressed format, since these usually take up less space.  In your
  1500. case, though, I'm not so sure!
  1501.  
  1502. I'm curious why you didn't use the rendering capabilities built into AES?
  1503. I was wondering also if you and Dwayne might be willing to share your
  1504. file converter with the rest of the world?
  1505.  
  1506. I am eager to take a look at your pictures myself.  Unfortunately, I'm
  1507. at home now and output on a dot matrix printer just doesn't cut it.
  1508.  
  1509. I'm glad that you have had such success with Radiance.  It's true of any
  1510. good ray tracing program that it will be faster with large models than
  1511. any object rendering technique such as z-buffer or hidden line algorithms.
  1512. You should get ahold of version 2.0, though.  It really is much better
  1513. than previous releases in a number of ways.  Version 2.1 will even be
  1514. able to render models twice as large in the same amount of memory (with
  1515. some loss in geometric accuracy).
  1516.  
  1517. -Greg
  1518.  
  1519. From: Alexander Keith Barber <barber@ravl.rice.edu>
  1520. Subject: Re:  Rice U Renderings
  1521. To: greg@hobbes.lbl.gov (Gregory J. Ward)
  1522. Date: Wed, 12 Feb 92 9:48:39 CST
  1523.  
  1524. Greg -
  1525.  
  1526. In reply to:
  1527.  
  1528. >I'm curious why you didn't use the rendering capabilities built into AES?
  1529. >I was wondering also if you and Dwayne might be willing to share your
  1530. >file converter with the rest of the world?
  1531.  
  1532. I must say that while we have had no problems making hidden line and hidden
  1533. surface pictures, using surface definitions of our own in AES, as well as a
  1534. light source for a sun, there are still a few problems creating raytraced
  1535. output with AES.  In other words, I have no output that makes any sense.  No
  1536. matter what I try, I end up with a light source too bright, too dark, too
  1537. focused like a spotlight... Despite following the tutorial and manual to the
  1538. letter, I have nothing but a a couple meg of various small pictures that are
  1539. rather fun for the mood they create (a spotlight against a building in the
  1540. dark, creating purple shadows) but that have nothing to do with realism.  Hence
  1541. our use of Radiance to do renderings...
  1542.  
  1543.  
  1544. >You should get ahold of version 2.0, though.  
  1545.  
  1546. That is what we have been using since you released it.  We still have some 
  1547. problems with Radiance and surface defs, tho'.  I'll send you a few pictures - 
  1548. small ones - that illustrate our difficulties.  I'll render a building I've
  1549. created, using just gensky for light (no ground glow since I have a large plane
  1550. I use as grass or concrete or whatever).  The resultant picture is very nice,
  1551. but I'll get a blue color thrown on the building from the sky, along with the
  1552. green of the ground...  I'll send you details later this week.
  1553.  
  1554. Alex Barber
  1555. barber@comet.rice.edu
  1556.  
  1557. Date: Wed, 12 Feb 92 10:21:42 PST
  1558. From: greg (Gregory J. Ward)
  1559. To: barber@ravl.rice.edu
  1560. Subject: Re:  Rice U Renderings
  1561.  
  1562. Hi Alex,
  1563.  
  1564. I finally got a look at your images.  Very nice.  I have shrunk the first
  1565. one to 512x512 using pfilt and put it in the pub/pics directory for sharing
  1566. along with your README file.
  1567.  
  1568. I misread the header on your images and concluded (wrongly) that you were
  1569. still using an earlier version.  Sorry.  Your sky does look a little too
  1570. blue to me, and that may be why you get more color bleeding than you would
  1571. like on your renderings.  If you upload them, I will be able to say for sure.
  1572.  
  1573. You may still want to create a ground source for your scene, so that the
  1574. horizon does not appear black.
  1575.  
  1576. -Greg
  1577.  
  1578. ====================================================================
  1579. AMIGA_PORT
  1580.  
  1581. Date: Thu, 13 Feb 92 17:12:41 +0100
  1582. From: bojsen@id.dth.dk (Per Bojsen)
  1583. To: greg@hobbes.lbl.gov
  1584. Subject: Amiga port of Radiance 2.0, beta version
  1585.  
  1586. Hi Greg,
  1587.  
  1588. I've uploaded a beta version of the Amiga port of Radiance in the
  1589. /pub/ports/amiga directory.  The archive is in the `lharc' format.
  1590. `Lharc' is a popular archiving/compressing utility, which is available
  1591. for the IBM PC, Amiga, and UNIX.  Is it OK, that I use this format?
  1592.  
  1593. The archive contains binaries, the library files, the example
  1594. objects/models, and documentation.  No source.  When I release the
  1595. final version of the port I'll upload a diff of the sources as I
  1596. believe you requested.
  1597.  
  1598. -- 
  1599. Per Bojsen         The Design Automation Group     Email: bojsen@ithil.id.dth.dk
  1600. MoDAG            Technical University of Denmark          pb@id.dth.dk
  1601.  
  1602.  
  1603. Date: Thu, 13 Feb 92 08:33:59 PST
  1604. From: greg (Gregory J. Ward)
  1605. To: bojsen@id.dth.dk
  1606. Subject: Re:  Amiga port of Radiance 2.0, beta version
  1607.  
  1608. Hi Per,
  1609.  
  1610. Thank you for uploading the port.  Does this lharc utility come standard
  1611. with the Amiga?  If not, can you legally upload a program to unarchive the
  1612. files?  If not, than it might be better to use the archiving utility I
  1613. wrote, which can be freely distributed.  I suspect that it has close to
  1614. the same utility as lharc, though I know nothing of this program.
  1615.  
  1616. I have ported my file archiving/compression programs (pkg and unpkg) to
  1617. UNIX, MS-DOS and C/PM.  I do not have a version for the MacIntosh or the
  1618. Amiga, though I suspect porting it to the Amiga would be a snap.  I'll
  1619. be happy to provide you with the source code if you need it.
  1620.  
  1621. Thanks again!
  1622. -Greg
  1623.  
  1624. ===================================================================
  1625. DECSTATION
  1626.  
  1627. Date: Thu, 13 Feb 1992 13:15 EDT
  1628. From: RCBI110@MARSHALL.MU.WVNET.EDU
  1629. Subject: Re:  Radiance install question
  1630. To: greg@hobbes.lbl.gov
  1631.  
  1632. Greg,
  1633.  
  1634.  Somehow I magically got all the programs, and I don't know how I did it...:^)
  1635.  
  1636. Today's question: error message:
  1637.  
  1638. rview: Cannot open command line window
  1639.  
  1640. I get a nice blank black window for about 2 seconds then it stops with this
  1641. error message...
  1642. If it matters, it's on a brand new DECsystem 5000/200. Fresh out of the box,
  1643. almost :^)
  1644.  
  1645. Any suggestions??
  1646.  
  1647. Alan
  1648.  
  1649. Date: Thu, 13 Feb 92 10:23:59 PST
  1650. From: greg (Gregory J. Ward)
  1651. To: RCBI110@MARSHALL.MU.WVNET.EDU
  1652. Subject: Re:  Radiance install question
  1653.  
  1654. Yes, I think that other DECstation users have had similar problems, because
  1655. DEC for some reason does not see fit to distributing the standard X11 fonts
  1656. with its system.  You must reset the COMFN macro in ray/src/rt/x11.c to
  1657. a font that is supported on your system.  I don't know what that would
  1658. be, but there's got to be something.  Also, you will have to change COMCW
  1659. and COMCH while you are at it.
  1660.  
  1661. Likewise, you should make a similar change to the FONTNAME macro in
  1662. ray/src/px/x11image.c and ray/src/util/xglaresrc.c.
  1663.  
  1664. I hope this solves your problem!
  1665. -Greg
  1666.  
  1667. Date: 20 Feb 92 15:00:00 PST
  1668. From: "Jack Hsiung" <cvetp035@CSUPomona.Edu>
  1669. Subject: Re:  Problem making obj/office with Radiance 2.0
  1670. To: "greg" <greg@hobbes.lbl.gov>
  1671.  
  1672. I followed your advice and changed the 8x13 font in src/rt/x11.c and
  1673. src/px/x11image.c to fixed (works for other X windows programs on
  1674. this DECstation). Now rview and ximage are able to display the images.
  1675. However, it seems that images displayed by ximage have their red and
  1676. blue channels switched. For example, the reddish looking wood looks blue.
  1677.  
  1678. rview displays the colors fine. Any idea what can be causing this?
  1679.  
  1680. Jack
  1681.  
  1682. Date: Thu, 20 Feb 92 15:04:23 PST
  1683. From: greg (Gregory J. Ward)
  1684. To: cvetp035@CSUPomona.Edu
  1685. Subject: Re:  Problem making obj/office with Radiance 2.0
  1686.  
  1687. Hi Jack,
  1688.  
  1689. Do you have a 24-bit X11 server?  There doesn't seem to be much of agreement
  1690. on how these beasties are supposed to work.  I don't have one myself, so
  1691. it is difficult for me to debug from here.
  1692.  
  1693. If your X11 server is only 8-bit, then we're in a heap of trouble!
  1694.  
  1695. Couldn't you find some way to get it to find the more standard font?
  1696.  
  1697. -Greg
  1698.  
  1699. Date: 20 Feb 92 15:21:00 PST
  1700. From: "Jack Hsiung" <cvetp035@CSUPomona.Edu>
  1701. Subject: Re:  Problem making obj/office with Radiance 2.0
  1702. To: "greg" <greg@hobbes.lbl.gov>
  1703.  
  1704. I know the display is 24-bit and the server is DEC's own, which I think
  1705. is 24-bit (The colors in the demo animation blends very smoothly).
  1706.  
  1707. Is it possible to go into the code and switch the red and blue when
  1708. ximage reads an image?
  1709.  
  1710. I'll try to figure out how to get the 8x13 font to work.
  1711.  
  1712. Jack
  1713.  
  1714. Date: Thu, 20 Feb 92 15:37:17 PST
  1715. From: greg (Gregory J. Ward)
  1716. To: cvetp035@CSUPomona.Edu
  1717. Subject: Re:  Problem making obj/office with Radiance 2.0
  1718.  
  1719. Go to line 733 of x11image.c.  There, you can reverse the ordering of
  1720. those three statements and that should turn the trick.  It's a bad hack,
  1721. though, since the server should be doing this job in XImage().
  1722.  
  1723. ==============================================================
  1724. INFRARED
  1725.  
  1726. Date: Thu, 20 Feb 92 15:58:12 +0100
  1727. From: manolesc@cethil.univ-lyon1.fr
  1728. Subject: Infrared radiance
  1729. To: greg@hobbes.lbl.gov
  1730.  
  1731.    Hi, Greg !
  1732.  
  1733.    Here I am again bothering you with questions about infrared radiance.
  1734.    I am not sure to make a good connection of the radiance curve with the rgb va
  1735. lues. So :
  1736.  
  1737.    1 In wich file do you fix the 3 representative wavelengths rgb emploied by
  1738.      RADIANCE ?
  1739.    
  1740.    2 The units of mesure for the rgb radiance values of the "light" material
  1741.      are Watts/rad2/m2 or Watts/sr/m2 ? 
  1742.      If Watts/rad2/m2 how do you calculate "rgb" knowing the 3 wavelengths fixed     on the 1st point ?
  1743.  
  1744.    3 The "l" comand in XIMAGE displays the luminance value in the area of 
  1745.      interest. In what unit of mesure is it displayed ?
  1746.  
  1747.    Thanks a lot for everything, Mircea.
  1748.  
  1749. Mircea Manolescu
  1750. INSA Lyon- Batiment 307
  1751. 21, Av. Albert Einstein
  1752. 69126 Villeurbanne
  1753. E-mail: manolesc@cethil
  1754.  
  1755. Date: Thu, 20 Feb 92 08:53:34 PST
  1756. From: greg (Gregory J. Ward)
  1757. To: manolesc@cethil.univ-lyon1.fr
  1758. Subject: Re:  Infrared radiance
  1759.  
  1760. Hello Mircea,
  1761.  
  1762. I will try to answer your questions as best I can.
  1763.  
  1764.    1 In wich file do you fix the 3 representative wavelengths rgb emploied by
  1765.      RADIANCE ?
  1766.  
  1767. As I think I said before, there are no specific wavelengths employed by
  1768. Radiance for red, green and blue.  Those three channels can mean whatever
  1769. you want them to mean, and they are treated identically throughout the
  1770. calculation.  The only time any assumption is made about them is by
  1771. ies2rad to compute a lamp color or ximage to compute luminance.  In most
  1772. applications, these primaries are chosen to correspond to a standard
  1773. computer monitor, but this may be totally inappropriate in your application.
  1774.  
  1775.    2 The units of mesure for the rgb radiance values of the "light" material
  1776.      are Watts/rad2/m2 or Watts/sr/m2 ?
  1777.      If Watts/rad2/m2 how do you calculate "rgb" knowing the 3 wavelengths fixed
  1778.      on the 1st point ?
  1779.  
  1780. I am afraid I don't know what you mean by "rad2" or how this differs from
  1781. steradians.  The units for light sources are Watts/sr/m2/spectrum, where
  1782. "spectrum" is the totality of wavelengths in which you are interested.
  1783. In other words, the value for a particular channel for a light source is
  1784. given as the total Watts/sr/m2 that source would have over the spectrum
  1785. if it emitted uniform white light at that level.  The reason for giving
  1786. such values rather than the more usual Watts/sr/m2/channel is so the
  1787. values are independent of the wavebands selected for the channels.  A
  1788. value of "1 1 1" will always mean uniform white light over the desired
  1789. spectrum with a total radiance of 1 Watt/sr/m2.
  1790.  
  1791.    3 The "l" comand in XIMAGE displays the luminance value in the area of
  1792.      interest. In what unit of mesure is it displayed ?
  1793.  
  1794. The unit of luminance used is candelas/m2 (lumens/sr/m2), and the conversion
  1795. factor from Watts/sr/m2 is 179, which is the luminous efficacy of white
  1796. light over the visible spectrum (380nm to 780nm).  This is the default
  1797. efficacy used by Radiance, although again you may find it to be inappropriate
  1798. for your needs.
  1799.  
  1800. I hope this helps.  Please don't hesitate to ask any further questions you
  1801. might have.
  1802.  
  1803. -Greg
  1804.  
  1805. ===========================================================
  1806. SPECULARITY_BUG
  1807.  
  1808. Date: Thu, 16 Apr 92 08:12:50 EDT
  1809. From: spencer@cgrg.ohio-state.edu (Stephen Spencer)
  1810. To: greg@hobbes.lbl.gov
  1811. Subject: Can you help?
  1812.  
  1813. One of our users has a well-documented case of version 1.4 producing far
  1814. better results when compared to version 2.0 of the RADIANCE software.
  1815. I've uploaded a file, "forWard.tar.Z", into the pub/xfer area of your 
  1816. machine -- can you look at it for me/him?
  1817.  
  1818. If you could, send the replies to 
  1819.  
  1820.     spencer@cgrg.ohio-state.edu
  1821.  
  1822. and to
  1823.  
  1824.     ksimon@cgrg.ohio-state.edu
  1825.  
  1826. as he (Kevin) is the user in question.
  1827.  
  1828. Thanks very much!
  1829.  
  1830. steve 
  1831.  
  1832. Date: Thu, 16 Apr 92 12:28:59 PDT
  1833. From: greg (Gregory J. Ward)
  1834. To: ksimon@cgrg.ohio-state.edu, spencer@cgrg.ohio-state.edu
  1835. Subject: Re:  Can you help?
  1836.  
  1837. Dear Steve and Kevin,
  1838.  
  1839. I have looked at your images and your files and what you are seeing is
  1840. the difference in the way Radiance 2.0 handles specular surfaces.  Simply
  1841. put, version 1.4 was not fully able to compute reflection from specular
  1842. surfaces.  Radiance 2.0 does a much better job.  However, most of the
  1843. surfaces in your room should be completely diffuse, yet the input file
  1844. defines these materials as having a specularity between 1% and 10%.
  1845. In my current model of specular surfaces, the degree of specularity
  1846. increases near grazing angles.  Thus, even a specularity of a few
  1847. percent will increase close to 1 near grazing.  That is what is
  1848. causing the unusual bright areas at the base of your furniture, in
  1849. the corners of the room, etc.  It is also causing a "sheen" in your
  1850. sofas that is quite unnatural.
  1851.  
  1852. This gives me reason to reconsider my calculation of the specular
  1853. component near grazing, to be sure.  The lesson for your work is
  1854. not to specify a specular component unless you really mean it!
  1855. Most fabrics and wall coverings and paints are diffuse.  Enamel
  1856. paint, formica, and other plastic-like finishes may have some
  1857. specularity, but never more than a few percent.  Only metals have
  1858. a significant specular component.
  1859.  
  1860. Hope this helps.  Thanks very much for bringing this to my attention!
  1861.  
  1862. -Greg
  1863.  
  1864. Date: Mon, 20 Apr 92 09:33:27 PDT
  1865. From: greg (Gregory J. Ward)
  1866. To: spencer@cgrg.ohio-state.edu
  1867. Subject: Re:  Can you help?
  1868. Cc: ksimon@cgrg.ohio-state.edu
  1869.  
  1870. Dear Steve (and Kevin),
  1871.  
  1872. Actually, the problem you noticed in 2.0 was a rather serious bug in the
  1873. normalization of the specular reflection from light sources.  I am
  1874. eternally grateful that you brought this to my attention, as I was just
  1875. about to send in a Siggraph paper with the wrong formula!!  Thanks to
  1876. you, I won't have to publish a retraction and go around hanging my
  1877. head low the rest of my days!
  1878.  
  1879. I can send you the repaired files if you like, or you can wait for this
  1880. and other bug fixes in version 2.1, due out soon.
  1881.  
  1882. Thanks again!
  1883. -Greg
  1884.  
  1885. Date: Mon, 20 Apr 92 12:52:14 EDT
  1886. From: spencer@cgrg.ohio-state.edu (Stephen Spencer)
  1887. To: greg@hobbes.lbl.gov
  1888. Cc: ksimon@cgrg.ohio-state.edu
  1889. Subject:  Can you help?
  1890.  
  1891. Glad to hear that we've helped.
  1892.  
  1893. How soon is "due out soon"?  I think we can probably just wait... (Kevin, I'm
  1894. not trying to speak for you here.)
  1895.  
  1896. steve
  1897.  
  1898. =============================================================
  1899. VIEW_INFO
  1900.  
  1901. Date: Tue, 21 Apr 92 16:33:04 +0100
  1902. From: andre@borneo.inet.dkfz-heidelberg.de (Andre Schroeter)
  1903. To: gjward@Csa1.lbl.gov
  1904. Subject: radiance
  1905.  
  1906. hallo,
  1907. i just compiled radiance v2.0 on ISC2.2.
  1908. all works fine exept xshowtrace and the *glare* programs.
  1909. these programms only show an errormessage that they can't get the view from
  1910. the pic. ximage beeps if i try to get information with the 't'command.
  1911. maybe you know what's going wrong ???
  1912.  
  1913. thanks andre
  1914.  
  1915. e-mail: andre@borneo.inet.dkfz-heidelberg.de
  1916.         81239@rz.novell1.fht-mannheim.de
  1917.  
  1918. Date: Tue, 21 Apr 92 09:09:32 PDT
  1919. From: greg (Gregory J. Ward)
  1920. To: andre@borneo.inet.dkfz-heidelberg.de
  1921. Subject: Re:  radiance
  1922.  
  1923. The problem must be with your picture file.  Run getinfo on it and send
  1924. me the output.  (Xshowtrace and glare only work with rpict and pfilt output.)
  1925.  
  1926. -Greg
  1927.  
  1928. To: greg@hobbes.lbl.gov
  1929. From: "Andre Schroeter"  <81239@novell1.rz.fht-mannheim.de>
  1930. Date:     28 Apr 92 07:48:45 GMT+0100
  1931. Subject:  RE: problem with view in picfile
  1932.  
  1933. hallo,
  1934. here is the output of getinfo. this picture is the fisheye view from the
  1935. example in the tutorial manpage.
  1936.  
  1937.  
  1938. fish.pic:
  1939.     /usr/andre/radiance/oconv sky.rad outside.rad mkiwindow.rad room.rad 
  1940.     /usr/andre/radiance/rpict -vta -vp 1.5 .8 1 -vd 0 1 0 -vh 240 -vv 180 -av .5 .5 .5 
  1941.     SOFTWARE= RADIANCE 2.0 lastmod Thu Apr 16 21:43:22 MES 1992 by andre on andre
  1942.     FORMAT=32-bit_rle_rgbe
  1943.  
  1944. thanks, andre
  1945.  
  1946. e-mail: andre@borneo.inet.dkfz-heidelberg.de
  1947.         81239@rz.novell1.fht-mannheim.de
  1948.     
  1949.  
  1950. Date: Mon, 27 Apr 92 23:16:03 PDT
  1951. From: greg (Gregory J. Ward)
  1952. To: 81239@novell1.rz.fht-mannheim.de
  1953. Subject: RE: problem with view in picfile
  1954.  
  1955. Hi Andre,
  1956.  
  1957. The problem is that you are using an explicit path to rpict (starting with
  1958. a '/'), which ximage and xshowtrace do not know how to read.  This is a
  1959. bug that I really ought to fix...  I will attempt to do so and send you
  1960. a patch a little later.
  1961.  
  1962. -Greg
  1963.  
  1964. Date: Tue, 28 Apr 92 11:17:20 PDT
  1965. From: greg (Gregory J. Ward)
  1966. To: 81239@novell1.rz.fht-mannheim.de
  1967. Subject: RE: problem with view in picfile
  1968. Status: R
  1969.  
  1970. I have made the changes, but it is probably better to wait for release 2.1
  1971. since I had to change several files.  I will release 2.1 next month sometime.
  1972.  
  1973. -Greg
  1974.  
  1975. =======================================================
  1976. BACKGROUND_COLOR
  1977.  
  1978. Date: Mon, 27 Apr 92 12:17:57 -0400
  1979. From: David Jones  <djones@lightning.McRCIM.McGill.EDU>
  1980. To: greg@hobbes.lbl.gov
  1981. Subject: background color instead of black??
  1982.  
  1983.  
  1984. Hi Greg, I'm trying to generate some RADIANCE pics really quickly.
  1985. I'd like to render an incomplete scene, and color any ray that does not
  1986. hit an object as GREY instead of BLACK as rpict does by default.
  1987. Is there any easy way to do this, or to massage the output of rpict?
  1988.  
  1989. dj
  1990.  
  1991. Date: Mon, 27 Apr 92 09:28:02 PDT
  1992. From: greg (Gregory J. Ward)
  1993. To: djones@lightning.McRCIM.McGill.EDU
  1994. Subject: Re:  background color instead of black??
  1995.  
  1996. Hi Dave,
  1997.  
  1998. Just make a glow source with the desired color, like so:
  1999.  
  2000. void glow background_color
  2001. 0
  2002. 0
  2003. 4 .2 .3 .4 0
  2004.  
  2005. background_color source background
  2006. 0
  2007. 0
  2008. 4 0 0 1 360
  2009.  
  2010. -Greg
  2011.  
  2012. Date: Mon, 27 Apr 92 09:30:14 PDT
  2013. From: greg (Gregory J. Ward)
  2014. To: djones@lightning.McRCIM.McGill.EDU
  2015. Subject: Re:  background color instead of black??
  2016.  
  2017. You can also massage the output picture using pcompos:
  2018.  
  2019.     pcompos -b .2 .3 .4 -t 1e-4 input.pic 0 0 > output.pic
  2020.  
  2021. Note that any pixel values less than 1e-4 will be replaced by the
  2022. background color, so this is no good if you actually have black objects
  2023. in your scene.
  2024.  
  2025. ===============================================================
  2026. UPFRONT_TRANSLATOR
  2027.  
  2028. Date: Fri, 1 May 92 17:42:59 NZT
  2029. From: pdbourke@ccu1.aukuni.ac.nz
  2030. Subject: For your information
  2031. To: GJWard@lbl.gov
  2032.  
  2033. I have just written a model translator from Alias Upfront on the Macintosh
  2034. to Radiance. It seems to work really well. Layers are colours are converted
  2035. into materials. If anyone is interested then you can pass my address on
  2036. otherwise I will eventually install a copy on your site. At the monent you
  2037. only get 3 or 4 point facets (upfront limitation) but I intend to do cleaver
  2038. tests and convert appropriate things into genbox and genprism calls. 
  2039. ------------------------------
  2040. Paul D. Bourke                             School of Architecture
  2041. pdbourke@ccu1.aukuni.ac.nz                 Auckland University
  2042.          (130.216.1.5)                     Private Bag
  2043. Ph:  +64 -9 373 7999 x7367                 Auckland
  2044. Fax: +64 -9 373 7410                       New Zealand
  2045.  
  2046. ============================================================
  2047. SCENE_FLATTENING
  2048.  
  2049. Date: Mon, 4 May 92 10:01:52 NZT
  2050. From: pdbourke@ccu1.aukuni.ac.nz
  2051. Subject: Radiance extraction
  2052. To: GJWard@lbl.gov
  2053.  
  2054. Is there a way to extract a decomposed description of a Radiance scene
  2055. description, that is,  a file containing just primitives such as polygons,
  2056. spheres etc (no generators) I have tried various methods but have not found
  2057. a way that doesn't require a possibly high user input.
  2058. ------------------------------
  2059. Paul D. Bourke                             School of Architecture
  2060. pdbourke@ccu1.aukuni.ac.nz                 Auckland University
  2061.          (130.216.1.5)                     Private Bag
  2062. Ph:  +64 -9 373 7999 x7367                 Auckland
  2063. Fax: +64 -9 373 7410                       New Zealand
  2064.  
  2065.  
  2066. Date: Sun, 3 May 92 21:17:46 PDT
  2067. From: greg (Gregory J. Ward)
  2068. To: pdbourke@ccu1.aukuni.ac.nz
  2069. Subject: Re:  Radiance extraction
  2070.  
  2071. Hi Paul,
  2072.  
  2073. That's great news about the UpFront! translator!.  I wish I had this program,
  2074. so I could use the translator.
  2075.  
  2076. Regarding expanded Radiance descriptions, you can use xform with the -e
  2077. option to take out all inline commands, like so:
  2078.  
  2079.     % xform -e input.rad > expanded.rad
  2080.  
  2081. I have considered from time to time writing a program to completely polygonize
  2082. a scene description, replacing all spheres and cones and even bringing in
  2083. instances and converting everything to polygons, but I have never had a
  2084. real need to do it so have just left it as an idea for a rainy day.
  2085.  
  2086. -Greg
  2087.  
  2088.