home *** CD-ROM | disk | FTP | other *** search
/ Borland Programmer's Resource / Borland_Programmers_Resource_CD_1995.iso / code / graphics / rtnews / rtnv4n3 < prev    next >
Encoding:
Internet Message Format  |  1995-05-19  |  44.0 KB

  1. From nucsrl!casbah.acns.nwu.edu!zaphod.mps.ohio-state.edu!wupost!uunet!psinntp!eye!erich Wed Nov 20 19:47:14 CST 1991
  2. Article: 5590 of comp.graphics
  3. Path: nucsrl!casbah.acns.nwu.edu!zaphod.mps.ohio-state.edu!wupost!uunet!psinntp!eye!erich
  4. From: erich@eye.com (Eric Haines)
  5. Newsgroups: comp.graphics
  6. Subject: Ray Tracing News, Volume 4, Number 3
  7. Message-ID: <1991Nov20.153217.19599@eye.com>
  8. Date: Wed, 20 Nov 91 20:32:16 GMT
  9. Sender: Eric Haines
  10. Organization: 3D/EYE, Inc.  Ithaca, NY
  11. Lines: 869
  12.  
  13.  _ __                 ______                         _ __
  14. ' )  )                  /                           ' )  )
  15.  /--' __.  __  ,     --/ __  __.  _. o ____  _,      /  / _  , , , _
  16. /  \_(_/|_/ (_/_    (_/ / (_(_/|_(__<_/ / <_(_)_    /  (_</_(_(_/_/_)_
  17.          /                               /|
  18.         '                               |/
  19.  
  20.             "Light Makes Right"
  21.  
  22.              November 18, 1991
  23.             Volume 4, Number 3
  24.  
  25. Compiled by Eric Haines, 3D/Eye Inc, 2359 Triphammer Rd, Ithaca, NY 14850
  26.     erich@eye.com
  27. All contents are US copyright (c) 1991 by the individual authors
  28. Archive locations: anonymous FTP at weedeater.math.yale.edu [130.132.23.17],
  29.     /pub/RTNews, and others.
  30. UUCP archive access: write Kory Hamzeh (quad.com!avatar!kory) for info.
  31.  
  32. Contents:
  33.     Introduction
  34.     New People, Address Changes, etc
  35.     ElectroGig Free Software Offer
  36.     Spectrum: A Proposed Image Synthesis Architecture, by Andrew Glassner
  37.     Spline Intersection, Texture Mapping, and Whatnot, by Rick Turner
  38.     Satellite Image Interpretation, by Andy Newton
  39.     Material Properties, by Ken Turkowski
  40.     New Library of 3D Objects Available via FTP, by Steve Worley
  41.     Object Oriented Ray Tracing Book
  42.     New and Updated Ray Tracing and Radiosity Bibliographies
  43.     DKBTrace 2.12 Port to Mac, by Thomas Okken
  44.     Graphics Gems II Source Code
  45.     Radiance Digest Archive, by Greg Ward
  46.     Model Generation Software, by Paul D. Bourke
  47.     Rayshade 4.0 Release, Patches 1 & 2, and DOS Port, by Craig Kolb and
  48.     Rod Bogart
  49.     RayShade Timings, by Craig Kolb
  50.     RayShade vs. DKBtrace Timings, by Iain Dick Sinclair
  51.     PVRay Beta Release, by David Buck
  52.     Vort 2.1 Release, by Eric H. Echidna
  53.     BRL-CAD 4.0 Release, by Michael J. Muuss and Glenn M. Gillis
  54.  
  55. -------------------------------------------------------------------------------
  56.  
  57. Introduction
  58.  
  59.     Well, it's been awhile - RealWork (TM) has been getting in the way of
  60. putting out an issue of the Ray Tracing News.  So, rewind your brains back to
  61. August...
  62.  
  63.     SIGGRAPH was interesting, as usual.  Las Vegas is an amusing place; now
  64. that I've seen it once, I don't ever need to go back.  To my surprise, there
  65. was quite a turnout for the ray tracing roundtable get together at SIGGRAPH.
  66. The roundtable is a nice excuse for people to get in a room and put faces to
  67. names, and I finally got to meet some people who had been just authors with
  68. email addresses before this.
  69.  
  70.     Some papers of note at SIGGRAPH which directly affect ray tracing were
  71. Kirk & Arvo's paper on unbiased sampling techniques and Mitchell's on optimal
  72. sampling for ray tracing.  The first warns that re-using initial samples
  73. results in bias when adaptively supersampling; the last talks of image
  74. sampling strategies.  Other papers of interest include those on new procedural
  75. texturing methods, which all look fairly easy to implement in their simpler
  76. forms.
  77.  
  78.     Chen et al presented "A Progressive Multi-Pass Method for Global
  79. Illumination", which does about every trick in the book to attempt to achieve
  80. maximum realism.  Xiao He et al presented "A Comprehensive Physical Model for
  81. Light Reflection", which is just that; it seems about the most realistic
  82. shading model I've seen, with some very serious mathematics behind it.  Another
  83. paper from Cornell, "A Global Illumination Solution for General Reflectance
  84. Distributions" by Sillion et al, gives an interesting method of storing
  85. reflectance functions by using spherical harmonics.
  86.  
  87.     The most theoretically significant radiosity paper was done by Hanrahan et
  88. al, who presented a method of limiting the amount of computation by use of
  89. hierarchy and error limits.  This method opens up interesting new lines of
  90. thought and research in radiosity.
  91.  
  92.     I did not spend a lot of time on the floor, but did run across an
  93. interesting demo at the Intergraph booth.  They had a cute ray tracing program 
  94. that implemented parameterized ray tracing (Sequin & Smyrl, SIGGRAPH '89),
  95. where you essentially store the shading equation parameters for each pixel.
  96. Changing colors, applying textures, etc then becomes pleasantly fast, as all
  97. you have to do is substitute the proper parameter values and reevaluate,
  98. getting a new full ray traced image in seconds.
  99.  
  100.     Other new ray tracing products I noticed were from Ray Dream and Strata.
  101. Ray Dream has a ray tracer for the Mac, with the program LightForge for
  102. modeling surfaces and SceneBuilder for scene description.  They have also
  103. added a distributed computing feature to poll Macs on a network for idle CPU
  104. time and uses it for rendering.  Strata offers StrataVision 3d, again for the
  105. Mac.  They claim ray tracing and radiosity rendering and gave us a demo disk -
  106. the radiosity images are no great shakes, but it's interesting to see the word
  107. "radiosity" making its way into the microcomputer market.
  108.  
  109.     AT&T Pixel Machines has been adding radiosity capabilities to their
  110. rendering library set.  Silicon Graphics is still demoing radiosity, though no
  111. product seems in the offing.  They did have a good tutorial film showing the
  112. ideas behind the progressive radiosity algorithm, and Baum et al had a
  113. worthwhile paper in the Proceedings on making radiosity usable.  This paper is
  114. indispensable for anyone designing a robust radiosity system for general use
  115. (i.e.  you plan on rendering more that a few axis aligned boxes in a room).
  116. HP demoed their radiosity rendering product (ARTCore) with a room designer
  117. demonstration, and had a movie in the film show (positive adjectives avoided,
  118. since I worked on both projects).
  119.  
  120.     One of the more clever tricks I learnt from the room designer was how to
  121. get reasonable wallpaper, floor covering, and other such textures scanned in
  122. using a flatbed scanner.  In the past I went to building supply places and
  123. borrowed or bought samples ("Yes, I want to see how this will look in my
  124. kitchen", not mentioning that the kitchen existed only in the computer).
  125. However, with a flatbed scanner you can get stuck:  the samples can be bigger
  126. than the scanning surface.  Even if small enough, repetition of the texture
  127. can lead to unrealistic effects (for example, a brick pattern is obviously
  128. tiled if the brick colors keep repeating in a too regular fashion).  I've also
  129. tried photographing large areas of a surface (e.g. a brick wall), but then
  130. variations in the scene's lighting often appear and make for patterning or odd
  131. shading artifacts.
  132.  
  133.     Tamar Cohen, who developed the room designer, realized that there was an
  134. excellent solution to these problems:  dollhouse supplies!  Dollhouse
  135. wallpaper and floor coverings easily fit on a flatbed scanner, and all the
  136. repetition and lighting problems go away.
  137.  
  138.     For those of you who are deeply into texturing, you should consider
  139. looking into the Khoros image processing system (ftp from pprg.eece.unm.edu
  140. [129.24.24.10]:  /pub/khoros - check release first).  It's a huge (~100 Meg)
  141. system, but from my minimal exposure seems extremely powerful and easy to use.
  142. It has a visual programming language, so you can interactively attach various
  143. function boxes together to perform operations.  This makes the system easy to
  144. quickly start using for simple manipulations, though I think I'm going to have
  145. to break down and read the documentation at this point.  The system is X based
  146. and has been ported to most major workstations on up, and the group at the
  147. University of New Mexico are enthusiastic and willing to help.  Recommended.
  148.  
  149.     I've also finally scratched the surface of Greg Ward et al's Radiance
  150. package.  I was impressed first off by the portability:  one of his displayers
  151. was the first serious X program I've ever compiled and linked without having
  152. to diddle around with something to make it go.  In fact, I didn't even know it
  153. was an X program until I ran it and a window popped up on the screen!  If you
  154. want physically based rendering, this is the only package I know that even
  155. attempts it.  It also seems to be a fine renderer, and I enjoy the progressive
  156. ray tracing feature (the image refines while you watch it).
  157.  
  158.     As far as speed goes, Rich Marisa at the Cornell Theory Center kindly gave
  159. me an explanation and demonstration of their Ray Casting Engine.  Duke and
  160. Cornell have been developing this piece of hardware for some time, and it
  161. embodies an interesting approach:  represent the CSG model as a network of
  162. processors, then, given a direction of view, convert the model into sets of
  163. spans.  These spans can then be used for analysis, rendering, etc.  For more
  164. information, see the Feb. 1991 issue of Mechanical Engineering, or Kedem and
  165. Ellis' article in _Parallel Processing of Computer Vision and Display_ (ed.
  166. by Dew, Heywood & Earnshaw).
  167.  
  168. -------------------------------------------------------------------------------
  169.  
  170. New People, Address Changes, etc
  171.  
  172.  
  173. # Andy Newton - physical radiance modelling, natural scenes, rays with solid
  174. #    angle
  175. # Remote Sensing Research, University College London
  176. # Photogrammetry,
  177. # UCL, Gower Street
  178. # London, ENGLAND
  179. # +44 71 387 7050 x2742
  180. alias andy_newton    anewton@ps.ucl.ac.uk
  181. alias andy_newton    anewton%uk.ac.ucl.ps@uk.ac.ucl.cs
  182.  
  183. Although the graphics is more fun than the Remote Sensing this is what I'm
  184. supposed to be doing ...
  185.  
  186. Applying ray tracing to the understanding of remote sensed images of the
  187. natural world, mainly satellite imagery. Much more interested in physical
  188. accuracy than efficiency. Also how to correctly model, and sample, very large
  189. and non-uniform light sources (the sky!) in ray tracing. How to relate the
  190. point sampling paradigm of the infinitesimal ray to light energy transport.
  191. Physical reflectance models like BRDF. Doing distance attenuation and variable
  192. light source sampling properly (probably) using solid angle.
  193.  
  194. I'd be really interested in any references anyone has to ray tracing for
  195. physical process simulations or radiance calculations using solid angle as
  196. a ray property.
  197.  
  198. On offer: a realistic sky radiance model based on atmospheric scattering.
  199.  
  200. --------
  201.  
  202. # Denise Blakeley
  203. # 1455 Runaway Bay Dr. #2B
  204. # Columbus, OH 43204
  205. # (614) 487-8442
  206. blakeley@cis.ohio-state.edu
  207.  
  208. Ray-tracing interests: general
  209.  
  210. What I'm doing these days: I'm trying to finish my MS in Computer Science
  211.   (concentrating in graphics) here at Ohio State December '91.  I'd like to
  212.   finish the program with at least one fairly complete project to show for
  213.   it, so I'm trying to expand my basic ray-tracer into a more complete
  214.   rendering system.  Nothing ground-breaking; I'm just trying to learn as
  215.   much as I can at this point, and have fun doing it!
  216.  
  217. --------
  218.  
  219. # Rick Turner - weird primitives, non-Euclidean raytracing, textures
  220. # IBM UK Science Centre
  221. # Athelstan House, St. Clement Street, Winchester SO23 9DR, England.
  222. ricky@venta.iinus1.ibm.com
  223.  
  224. I'm a scientist at UKSC, working in the area of remote sensing and the
  225. application of image and visualisation techniques to earth science problems.
  226. Raytracing is a spare time activity.  I've written one raytracer, as well as a
  227. substantial part of a second.  These use all the common CSG primitives, and
  228. for the large tracer (called RT), I've added support for bicubic spline
  229. patches (bezier, b-spline, ..., continuous beta-splines) and implicit
  230. functions as well.  Currently I'm playing around with texture and image
  231. mapping and volume objects.
  232.  
  233. --------
  234.  
  235. Matthew Williams
  236. 501 Chapel Drive #1417
  237. Tallahassee, Fl  32304
  238. (904)681-0873
  239. fudd@fsunuc.physics.fsu.edu
  240.  
  241. Interests: Anything and everything
  242.  
  243. At the moment I am a student at Florida State University majoring in Russian
  244. Language with minors in Math, Physics, and Computer Science.  All the time
  245. that I am not in class (including some times when I should be in class) I am
  246. on my PC playing around with DKBTrace (or should I say PVRay).  One of my
  247. larger projects that I want to attempt is translating the C source for DKB to
  248. assembly and hopefully gain some speed.  I would also like to add a fractal
  249. section to it so I can have vines and stuff growing on different objects.
  250.  
  251. -------------------------------------------------------------------------------
  252.  
  253. ElectroGig Free Software Offer
  254.  
  255. [I don't know much about GIG, except that they have a CSG ray tracer.  Sounds
  256. like quite a deal, though! - EAH]
  257.  
  258. >From Communications of the ACM, Nov. 1991:
  259.  
  260. In an effort to enhance computer graphics education on a national level, GIG
  261. USA is offering a limited number of complete 3D graphics packages free of
  262. charge to accredited universities, colleges and schools throughout the U.S.
  263. The ElectroGIG system, which lists for $30,000, includes retracing [sic -
  264. should be ray-tracing] and animation applications and runs on Silicon Graphics
  265. and DEC 5000 workstations.  Written requests must be mailed (phone calls or
  266. faxes will not be accepted) on official school letterhead by staff or faculty
  267. members only to GIG USA, Inc., 7380 Sand Lake Rd., Suite 390, Orlando, FL
  268. 32819, attention:  GIG Educational Software Program.
  269.  
  270. -------------------------------------------------------------------------------
  271.  
  272. Spectrum: A Proposed Image Synthesis Architecture, by Andrew Glassner
  273.     (glassner.pa@xerox.com)
  274.  
  275. Andrew Glassner is currently working on a proposal called "Spectrum", which is
  276. a new ray tracer architecture.  The document outlining this design was made
  277. available in the "Frontiers in Rendering" course notes.  The idea is to make a
  278. flexible public domain ray tracer available among researchers and educators.
  279.  
  280. -------------------------------------------------------------------------------
  281.  
  282. Spline Intersection, Texture Mapping, and Whatnot, by
  283.     Rick Turner (ricky@venta.iinus1.ibm.com) and Eric Haines
  284.  
  285. The code that I developed is based essentially on algorithms developed by
  286. Kajiya and extended by Marini et al (the paper is in one of the Eurographics
  287. procs; I can dig out a reference for you if you're interested).  Basically, we
  288. model the ray as a pair of orthogonal planes.  Each of these is intersected
  289. with the spline surface, giving a pair of space curves.  You intersect the
  290. space curves giving the ray/surface intersection.
  291.  
  292. Intersecting curves is a manageable problem, so it works quite well.  The same
  293. basic method is employed for all types of bicubic spline surface.  It actually
  294. turns out that splines having a constant basis matrix (eg b-spline, power
  295. splines, hermites, Catmull-Rom splines etc) are cheaper to compute if you
  296. first do a basis transformation to bezier splines.  Beta splines and so on
  297. that have a variable basis matrix require special treatment, which is quite
  298. complex.
  299.  
  300. I run the code on an i860 based accelerator card to get it to work in
  301. reasonable time; a 1024*1024 image with a few hundred primitives takes 5-10
  302. minutes to compute.  Spline surfaces can increase this considerably.
  303.  
  304. The raytracer in question was originally developed by IBM Poughkeepsie as part
  305. of a system called GDP (Geometric Design Processor).  This was essentially a
  306. CSG system and was used to design parts of IBM mainframes.  It ran on a
  307. mainframe and was written in PL/I and Assembler.  The mainframe code was
  308. hacked out as a standalone module some years ago, and was then re-written in
  309. 'C' in peoples spare time.  Most of the basics were done in Burlington, Va.,
  310. though extensions were done all over the place.
  311.  
  312. I'm currently working with mapping images and textures onto objects.  Yes, I
  313. know this is a largely solved problem nowadays, but there are some interesting
  314. 'gotchas'.  I'm particularly interested in singular mappings, where you don't
  315. have a one-to-one correspondence.  This overlaps in some ways with my 'real'
  316. work, which often involves rendering some earth science dataset.  I'm
  317. currently fooling around with Magellan data from JPL, rendering combinations
  318. of terrain and image data in various ways.
  319.  
  320. --------
  321.  
  322. My reply:
  323.  
  324. I know the two-plane intersection method you refer to, in fact I coded it up
  325. once long ago (though I don't know the Marini paper - maybe he solves the
  326. problem of sometimes converging on the farther intersections instead of the
  327. closest?  Seems like I remember that guaranteeing the right root is found was
  328. a headache, though I recall Kajiya's solution was something like "use
  329. Laguerre's method and find them all" or somesuch - I'm probably mixing this
  330. up, as I haven't looked at these numerical methods in years...)
  331.  
  332. As far as texture mapping, that's something I'm still playing with here, too.
  333. Solved?  Well, how does adaptive sampling work along with textures and mipmaps
  334. and so on (mipmaps sample area, but what do you do if more sample rays are
  335. shot in a pixel?) - there was a paper on this topic in Eurographics '91, so
  336. it's of interest.  Also, specifying parameterizations for sets of primitives
  337. is easy enough in theory (e.g. define some projection (spherical, conical,
  338. plane) in space and use this to determine xyz -> uv), but this kind of thing
  339. can look really bad in some cases.  I've been playing with other
  340. parameterization functions, with some interesting results (my VW bug covered
  341. with straw weave is certain to become a style trend soon, I'm sure).  Have you
  342. run across any interesting parameterization papers/techniques lately?
  343.  
  344. --------
  345.  
  346. Reply from Rick:
  347.  
  348. In my code, the patches are subdivided, though not by very much.  Each
  349. 'mini-patch' has its own bounding box, and both are built into a tree
  350. structure.  The more curvature the patch has, the greater the subdivision that
  351. will be used; this reduces the chances of having a local maximum or minimum in
  352. the middle of the patch go outside the bounding box.  It also allows you to
  353. fit the bounding boxes much more tightly to the surface, so cuts down the
  354. number of false intersections where the ray intersects the bounding box but
  355. not the surface.  One interesting side effect of the subdivision is that by
  356. making the bounding box smaller than the surface, you get disconnected pieces
  357. of surface floating in space.  A nice example of this is on the cover of the
  358. Bartels/Beatty/Barsky book on splines.  I've done the teapot in a similar way,
  359. and it looks rather neat.  I went further and mapped the baboon onto each
  360. disconnected patch, and it's quite eye catching.
  361.  
  362. Basically, the convergence method is a hybrid of multi-dimensional conjugate
  363. gradient and quasi-Newton techniques.  This offers speed plus reasonable
  364. stability (although you can always find a pathological case to defeat the
  365. algorithms).  One thing about it is that the iterations happen in (u,v) space
  366. rather than in (x,y,z) space; this ensures that the iterations will always
  367. converge to a valid solution; if either u or v go outside the range valid for
  368. the particular mini-patch that you're testing against you can immediately
  369. reject the solution, as there will be no intersection with that patch.
  370. Typically false intersections such as this are rejected on the first (or
  371. sometimes the second) iteration, which improves the performance a bit.
  372.  
  373. Ray tracing splines is tedious though, so I've given my code an option to
  374. render the bounding boxes for the mini-patches.  This gives a pretty good
  375. first look at what you're going to get out, and takes a couple of orders of
  376. magnitude less time.
  377.  
  378. Texture mapping people may want to look through the cartographic literature.
  379. Map makers have similar problems in projective geometry when it comes to
  380. changing map (or image) coordinate systems - eg, from Lat/Long to UTM for
  381. example.  Much effort has been devoted to solving the mapping (in the
  382. mathematical sense) problem; less on resampling.  Almost always the resampling
  383. used are standard bi-linear or bi-cubics with the attendant problems.  On the
  384. whole though, digital cartography can be a useful source on information that
  385. is often overlooked by graphics people.  A good reference to start with is
  386. USGS Professional Paper 1395, 'Map Projections, a Working Manual' by John
  387. Snyder.  In the US you can get a copy from any Government bookstore - when I
  388. got mine I think that it cost me about 25 dollars.
  389.  
  390. -------------------------------------------------------------------------------
  391.  
  392. Satellite Image Interpretation, by Andy Newton (anewton@ps.ucl.ac.uk)
  393.  
  394. I work in a satellite image interpretation research group. Our interest in 
  395. ray tracing is for simulating all parts of the process of the formation of 
  396. satellite images - optics, camera motion, atmosphere, surface scattering and
  397. global (as in hemispherical!) light source illumination. We do work at two
  398. scales - where the basic scene is a DEM (height grid) and for very complicated
  399. 3-d scenes for plant canopy reflectance simulation.
  400.  
  401. So ray tracing is a really powerful tool to allow us to simulate as many parts
  402. of these complex processes as we can model but what we need to do is not quite
  403. computer graphics. What I mean by this is that what we need out of our models 
  404. are accurate, truthful, energies (in real units) not measures of visual
  405. brightness. We need physical results. One example of this is wavelength sampling
  406. by importance sampling a spectral response curve as opposed to treating light as
  407. an RGB 'colour'. (Though I can't recall any references to doing exactly this it
  408. is proposed in Cook's original stochastic sampling papers and my implementation
  409. is very similar to his for reflected ray direction).
  410.  
  411. Our main problems are (i) illumination from such a big light source (the sky
  412. hemisphere) with 'diffuse' reflectors (ii) ensuring that we model energies
  413. correctly and (iii) using physical directional reflectances. I may be going out
  414. on a bit of a limb here so please excuse me if I do - I'm not as familiar as I
  415. ought to be with general CG practice - but I'll try to explain what I mean.
  416.  
  417. I've spent the better part of 3 years supporting and trying to add to a tracer
  418. I inherited when I came to work here. Now that has turned out not to be 
  419. particularly smart as its been a lot harder to modify and bug fix than if it was
  420. my own work. Anyway the point is that through out most of that time we had no
  421. good model for the directional and spectral variation of that thing outside the
  422. window - the sky. As our main interest is _supposed_ to be the satellite work,
  423. not the graphics, I felt we couldn't come to grand conclusions from our results
  424. if the illumination function was simply not representative of the real world.
  425. Now I've managed to solve this problem by implementing a model of atmospheric
  426. scattering processes due to Zibordi and Voss so its time to make the physics
  427. correct and BTW write a fresh tracer. I have seen some work on CG models of the
  428. sky which are functional and not physical. This model is quite fast enough to
  429. create a sky radiance LUT at any resolution required on a per scene basis so if
  430. you know of anyone out there who needs a model of the sky's irradiance maybe I
  431. could help.
  432.  
  433. The thing about any such illumination model is, of course, that the energy
  434. results are per steradian of solid angle of illuminating source.  With the
  435. point sampling infinitesimally thin ray what solid angle does a ray reaching
  436. the sky have?  If it's a primary ray then OK it can have some solid angle
  437. associated with the pixel but how should ray solid angles be transformed by
  438. reflection etc?  The only work I've seen that is remotely like this is
  439. Amantide's cones.  However that doesn't use the geometric concept of a solid
  440. angle.  One plus point of considering solid angle is of course that the
  441. effects of distance attenuation by divergence are implicitly included.  So I'm
  442. very interested in how much solid angle is used as yet another ray parameter
  443. in more general CG work.  Is this really common, or unheard of?
  444.  
  445. There's a reflectance concept in remote sensing called Bi-Directional
  446. Reflectance Distribution Function (BRDF), which may also be use in CG or have
  447. a parallel, that defines directional reflectance as a 5-d array of pairwise
  448. directional spectral reflectance coefficients.  For each wavelength
  449. (quantized, of course), for each incident direction (over the 2 Pi
  450. hemisphere), for each emergent direction, define a reflectance coefficient.
  451. Such things can be used as reflectance LUTs or integrated, subdivided and
  452. importance sampled.  Are similar things done for interesting material
  453. reflectances in the main stream?
  454.  
  455. -------------------------------------------------------------------------------
  456.  
  457. Material Properties, by Ken Turkowski (turk@apple.com)
  458.  
  459. [I edited Ken's notes into a coherent whole. - EAH]
  460.  
  461. >Does anyone know where I can pick up a list of material properties for
  462. >different metals and other objects? 
  463. >
  464. >I need to know refractive index, diffuse component, specular component and
  465. >specular exponent.
  466.  
  467. Purdue has a catalog of transmissive, reflective, absorptive and emissive
  468. spectral data for conductors, dielectrics, pigments, emulsions, and light
  469. sources.  From this you can calculate the refractive index and diffuse
  470. spectrum.  It's called _Thermophysical Properties of Matter_ by the Purdue
  471. University Thermophysical properties research center.  There are multiple
  472. volumes.  We have found volumes 6, 7, and 8 most useful.  These contain data
  473. for dielectrics, conductors, and surface coatings.
  474.  
  475. Unfortunately, this book is out of print.  We got our copy by photocopying one
  476. that Purdue had.
  477.  
  478. Specular data is a function of the finish (i.e. rough, smooth), and can be
  479. calculated by the method of He (SIGGRAPH '91) given surface statistics.
  480.  
  481. Roy Hall's book, _Illumination and Color in Computer Generated Imagery_,
  482. points to some other sources of reflective data.  The reflective spectrum *is*
  483. the diffuse "color".  Specular properties are a function on the finish, not
  484. the material.
  485.  
  486. -------------------------------------------------------------------------------
  487.  
  488. New Library of 3D Objects Available via FTP, by Steve Worley
  489.     (worley@updike.sri.com)
  490.  
  491. On the ftp site cs.uoregon.edu (128.223.4.13), I have assembled a set of over
  492. 150 3D objects in a binary format called TDDD in the directory
  493. /incoming/TDDDobjs.  These objects range from human figures to airplanes, from
  494. semi-trucks to lampposts.  These objects are all freely distributable, and most
  495. have READMEs that describe them.  There are over six megabytes of these binary
  496. objects.
  497.  
  498. In order to convert these objects to a human-readable format, a file with the
  499. specification of TDDD is included in the directory with the objects.  There is
  500. also a shareware utility called TDDDconv that will convert the binary objects
  501. into either OFF, NFF, Rayshade, or vort objects.  This utility is also found
  502. on cs.uoregon.edu, in the file /incoming/TDDDconv.tar.Z.
  503.  
  504. [There are some interesting things here.  You might have to diddle a bit, and
  505. I noticed that some databases don't translate, but good stuff for the price!
  506. One very cute thing in the package is "tddd2ps", which "converts" a TDDD file
  507. to a printable set of four orthogonal views - nice touch!  - EAH]
  508.  
  509. -------------------------------------------------------------------------------
  510.  
  511. Object Oriented Ray Tracing Book
  512.  
  513. > I am looking for a book named "Object-oriented ray_tracing" by Melcher,
  514. > and published by Wiley 91.
  515.  
  516. This is, in fact, an article by Karl Melcher and G. Scott Owen, more fully
  517. entitled "Object Oriented Ray Tracing: A Comparison of C++ Versus C
  518. Implementations" which will appear in a Wiley book early in 1992 (and which
  519. was in the Wiley booth at SIGGRAPH '91).  The title of the book will be
  520. "Computer Graphics Using Object-Oriented Programming" and the editors are
  521. Cunningham, Craighill, Fong, and Brown.
  522.  
  523. -------------------------------------------------------------------------------
  524.  
  525. New and Updated Ray Tracing and Radiosity Bibliographies
  526.  
  527. At weedeater (see the header of this issue) via anonymous FTP are a number of
  528. new or updated ray tracing and radiosity bibliographies.  I've updated the
  529. ray tracing bibliography (pub/Papers/RayBib.09.91.Z) and radiosity bib
  530. (RadBib.09.91) from last year's version.  Rick Speer has provided a postscript
  531. (only) version of his extensively cross-referenced ray tracing bibliography
  532. (speer.raytrace.bib.ps).  Tom Wilson's fine ray tracing abstract collection is
  533. also available, with June 1 being the latest version (rtabs.6.91.shar.Z).
  534. Also, the file "NetPapers" lists a number of worthwhile articles and theses
  535. available on the net and where to get them.
  536.  
  537. -------------------------------------------------------------------------------
  538.  
  539. DKBTrace 2.12 Port to Mac, by Thomas Okken (thomas@duteca.et.tudelft.nl)
  540.  
  541. The public-domain raytracer DKBTrace, which runs on FPU-equipped Macs, has
  542. been made available for anonymous ftp from "alfred.ccs.carleton.ca", files
  543. /pub/dkbtrace/dkb2.12/other_ports/MacPort1.0.2.*.
  544.  
  545. -------------------------------------------------------------------------------
  546.  
  547. Graphics Gems II Source Code
  548.  
  549. FTP from:
  550.  
  551. weedeater.math.yale.edu [130.132.23.17]
  552. gondwana.ecr.mu.oz.au [128.250.1.63]
  553.  
  554. file: pub/GraphicsGems/GemsII/GGemsII.tar.Z
  555.  
  556. -------------------------------------------------------------------------------
  557.  
  558. Radiance Digest Archive, by Greg Ward (greg@lesosun1.epfl.ch)
  559.  
  560. I have just made back issues of the Radiance Digest available from anonymous
  561. ftp at hobbes.lbl.gov (128.3.12.38) in the pub/digest directory.  Those of you
  562. who have limited network access can still ask me to send back issues to you
  563. directly.
  564.  
  565. -------------------------------------------------------------------------------
  566.  
  567. Model Generation Software, by Paul D. Bourke (pdbourke@ccu1.aukuni.ac.nz)
  568.  
  569. [Paul has a facet based modeller for the Mac called VISION-3D, which can be
  570. used to generate models directly in the RayShade and Radiance file formats.
  571. He wrote telling me of other programs that might be of interest - EAH]
  572.  
  573. I have some other "niche" model generators that also export to Radiance and
  574. RayShade.
  575.  
  576. A brief description of some of them follows:
  577.  
  578. FracHill - generates the old fractal landscapes using the spatial subdivision
  579.            technique (ie: not the fourier method) It has all the usual
  580.            settings for roughness, sea level, seed, land/sea colour, etc
  581.  
  582. 3D LSystems - allows the user to generate 3D LSystems (0L). Uses all the
  583.               standard symbols from the literature, an extension of my 
  584.               2D LSystem which I wrote years ago.
  585.  
  586. Triangulate - takes a set of randomly distributed samples on a surface and
  587.               generates either a triangulated (Delaunay) of gridded mesh
  588.               representing the surface. We use it for our landscape
  589.               Architecture course. Note: surfaces (functions) only, not
  590.               solids!
  591.  
  592. Anyway, these and other applications can be obtained from my FTP directory
  593.    ccu1@aukuni.ac.nz (130.216.1.5)
  594. located in the
  595.    architec
  596. directory. Because we pay for FTP to the US people should be asked to FTP
  597. the README file in the above directory, it will inform them of alternative
  598. sites in the US.
  599.  
  600. -------------------------------------------------------------------------------
  601.  
  602. Rayshade 4.0 Release, Patches 1 & 2, and DOS Port, by Craig Kolb and Rod Bogart
  603.     (rayshade@weedeater.math.yale.edu)
  604.  
  605. Rayshade 4.0 is now available.  This version is extremely different from 3.0,
  606. and is very different from 4.0beta.
  607.  
  608. Rayshade 4.0 features include:
  609.     + Eleven primitives (blob, box, cone, cylinder, height field,
  610.         plane, polygon, sphere, torus, flat- and Phong-shaded triangle)
  611.     + Aggregate objects
  612.     + Constructive solid geometry
  613.     + Point, directional, extended, spot, and quadrilateral light sources
  614.     + Solid procedural texturing, bump mapping, and
  615.         2D "image" texture mapping
  616.     + Antialiasing through variable-rate "jittered" sampling
  617.     + Arbitrary linear transformations on objects and texture/bump maps.
  618.     + Use of uniform spatial subdivision or hierarchy of bounding
  619.         volumes to speed rendering
  620.     + Options to facilitate rendering of stereo pairs
  621.     + Rudimentary animation support and motion blur
  622.     + Numerous bug fixes and syntax changes
  623.  
  624. Apologies to all the folks who felt that their Rayshade 4.0beta questions were
  625. not handled in a timely fashion.  Both Rod and Craig have had to deal with
  626. Real Life and did not have as much time for Rayshade as we had hoped.  We
  627. still feel that Rayshade is the best Un*x raytracing package for the price.
  628.  
  629. Rayshade 4.0 is available via anonymous ftp from weedeater.math.yale.edu
  630. (130.132.23.17) in pub/rayshade.4.0.  The shar files will be posted to
  631. alt.sources and submitted to comp.sources.misc.
  632.  
  633. --------
  634.  
  635. Patches 1 and 2 to rayshade 4.0 are now available through
  636. anonymous ftp from weedeater.math.yale.edu (130.132.23.17)
  637. as pub/rayshade.4.0/patches/patch{1,2}.  The patches have
  638. also been posted to comp.sources.misc.
  639.  
  640. --------
  641.  
  642. Tom Hite managed to port rayshade to DOS, and was kind enough to send me
  643. a set of diffs, a couple of configuration files, and a short note describing
  644. what one needs to do in order to coax rayshade into running on PCs.
  645.  
  646. I haven't had the courage yet to find myself a PC and to verify that Tom's 
  647. instructions are idiot-proof.  In addition, Tom's diffs were for rayshade 4.0
  648. patchlevel 0, and the new patches will undoubtedly cause some minor problems
  649. when it comes to applying Tom's diffs.
  650.  
  651. The files are available from weedeater.math.yale.edu (130.132.23.17) as
  652. pub/rayshade.4.0/raydiffs.dos.
  653.  
  654. -------------------------------------------------------------------------------
  655.  
  656. RayShade Timings, by Craig Kolb
  657.  
  658. Below for your amusement(?)  are timings for the latest version of rayshade
  659. running on an HP-730.
  660.  
  661. I suspect that rayshade is a good bit less efficient than it used to be, but
  662. I have yet to actually put this suspicion to the test.
  663.  
  664.  
  665. Rayshade v4.0, patchlevel 1, on an HP-730 running HPUX-8.05, ?? MB memory.
  666. Wed Oct  9 13:50:29 EDT 1991
  667.  
  668.          Setup       Total     |  Polygon   Sphere    Cyl/Cone    Bounding
  669.              (seconds)         |   Tests     Tests      Tests    Box Tests
  670. --------------------------------------------------------------------------
  671. balls     3.18       116.24    |    356K     1564K        0        2763K
  672. gears    15.79       705.25    |   8345K       0          0       11260K
  673. mount     6.13       165.03    |   1035K     2096K        0        2991K
  674. rings     5.44       235.37    |    103K      206K      4883K      5536K
  675. teapot   13.49       126.43    |   1677K       0          0        2761K
  676. tetra     2.96        31.93    |    578K       0          0         694K 
  677. tree      4.94       103.28    |    716K       16K       366K      1467K
  678.  
  679. All timings are sum of user and system time.  Setup includes time to read
  680. the database and initialize all appropriate data structures.  Total time
  681. is setup time plus rendering time.  Test figures are rounded upwards.
  682.  
  683. Uniform spatial subdivision, employing 22^3 voxels, is used to accelerate
  684. rendering.  In the balls, gears, and tree databases, the ground plane
  685. is moved outside of the 22^3 grid in an attempt to generate a more uniform
  686. object distribution within the grid.
  687.  
  688. -------------------------------------------------------------------------------
  689.  
  690. RayShade vs. DKBtrace Timings, by Iain Dick Sinclair (axolotl@socs.uts.edu.au)
  691.  
  692. >    In your posting on RayShade vs. DKBtrace you mention doing timings
  693. >on them using the SPD.  Any chance you have the timings sitting around?
  694.  
  695. A friend here did the comparison, but it was by no means thorough -- it only
  696. used one benchmark (the balls?).  In any event, the results of his quick
  697. experiment seem to have been discarded (apparently it was a slight pain to
  698. translate NFF -> DKB's verbose input format).  I seem to remember him saying
  699. that Rayshade completed the scene about 20% quicker.  Unfortunately, SPD
  700. wasn't used exhaustively, though it may be in the near future.
  701.  
  702. -------------------------------------------------------------------------------
  703.  
  704. PVRay Beta Release, by David Buck (dbuck@ccs.carleton.ca)
  705.  
  706. The freely distributable raytracer PVRay (Persistence of Vision) is
  707. available for BETA testing from alfred.ccs.carleton.ca (134.117.1.1)
  708. in the directory pub/dkbtrace/pvraybeta.  This program has been
  709. developed by the "Persistence of Vision" group on CompuServe and is
  710. built on top of DKBTrace version 2.12 with my permission and blessing.
  711.  
  712. Please note that this is a BETA release, so it may exhibit some bugs or
  713. portability problems to different platforms.  Please refer any
  714. problems to Drew Wells at 73767.1244@compuserve.com.  Also, this
  715. version does not contain some of the ports which were previously
  716. available for DKBTrace.  This situation is being rectified.  However,
  717. you should find that the product-specific modules developed for
  718. DKBTrace should be easily adaptable to PVRay.
  719.  
  720. Program Synopsis:
  721. -----------------
  722.  
  723. PVRay is a Freely Distributable raytracer built on top of DKBTrace.  New
  724. additions include:
  725.  
  726.    - Bezier surfaces
  727.    - Height Fields (GIF only at this time)
  728.    - Bump maps
  729.    - Improved Quartic surface support
  730.    - Input language can now optionally accept lowercase keywords
  731.    - New textures: Onion, Leopard
  732.    - C-style comments accepted (  /* */ and //)
  733.    - Algebraic surfaces
  734.    - Sphere, Cylinder, and Torus image mappings
  735.  
  736. Please direct inquiries to Drew Wells at 73767.1244@compuserve.com.
  737.  
  738. -------------------------------------------------------------------------------
  739.  
  740. Vort 2.1 Release, by Eric H. Echidna
  741.  
  742.     gondwana.ecr.mu.oz.au [128.250.1.63] pub/vort.tar.Z
  743.     munnari.oz.au [128.250.1.21] pub/graphics/vort.tar.Z
  744.     uunet.uu.net [192.48.96.2] graphics/vogle/vort.tar.Z
  745.      (uucp access as well ~ftp/graphics/vogle/vort.tar.Z)
  746.  
  747. Australian ACSnet sites may use fetchfile:
  748.     fetchfile -dgondwana.ecr.mu.oz pub/vort.tar.Z
  749.  
  750. The major changes are to the ray-tracer which now allows orthographic
  751. projections, lights to be in composite objects, provides a transform operator,
  752. a few other odds and sods plus the usual set of bug fixes.  There are also a
  753. couple of utilities for starting art up via inetd to help simplify the
  754. generation of animations across networks.
  755.  
  756. It runs on IBM PC's, VMS, and a variety of UNIX boxes.
  757.  
  758. Contributed scene files for the ray-tracer can be found in contrib/artscenes
  759. on gondwana.  Apart from the scene files the tar files in this directory also
  760. includes some useful tile patterns and geometry files.
  761.  
  762. Anyone with anything they'd like to add is welcome to put it in gondwana's
  763. incoming directory and send us mail.
  764.  
  765. Includes [among much else]:
  766.  
  767. art    - a ray tracer for doing algebraic surfaces and CSG models.
  768.  
  769. -------------------------------------------------------------------------------
  770.  
  771. BRL-CAD 4.0 Release, by Michael J. Muuss and Glenn M. Gillis
  772.  
  773. The U. S. Army Ballistic Research Laboratory (BRL) is proud to announce
  774. the availability of Release 4.0 of the BRL-CAD Package.
  775.  
  776. The BRL-CAD Package is a powerful Constructive Solid Geometry (CSG) based
  777. solid modeling system.  BRL-CAD includes an interactive geometry editor, a ray
  778. tracing library, two ray-tracing based lighting models, a generic framebuffer
  779. library, a network-distributed image-processing and signal-processing
  780. capability, and a large collection of related tools and utilities.  Release
  781. 4.0 is the latest version of software which has been undergoing continuous
  782. development since 1979.
  783.  
  784. The most significant new feature for Release 4.0 is the addition of n-Manifold
  785. Geometry (NMG) support based on the work of Kevin Weiler.  The NMG software
  786. converts CSG solid models into approximate polygonalized boundary
  787. representations, suitable for processing by subsequent applications and
  788. high-speed hardware display.
  789.  
  790. BRL-CAD is used at over 800 sites located throughout the world.  It is
  791. provided in source code form only, and totals more than 280,000 lines of "C"
  792. code.
  793.  
  794. BRL-CAD supports a great variety of geometric representations, including an
  795. extensive set of traditional CSG primitive solids such as blocks, cones and
  796. tori, solids made from closed collections of Uniform B-Spline Surfaces as
  797. well as Non-Uniform Rational B-Spline (NURBS) Surfaces, purely faceted
  798. geometry, and n-Manifold Geometry (NMG).  All geometric objects may be
  799. combined using boolean set-theoretic operations such as union, intersection,
  800. and subtraction.
  801.  
  802. Material properties and other attribute properties can be associated with
  803. geometry objects.  This combining of material properties with geometry is a
  804. critical part of the link to applications codes.  BRL-CAD supports a rich
  805. object-oriented set of extensible interfaces by means of which geometry and
  806. attribute data are passed to applications.
  807.  
  808. A few of the applications linked to BRL-CAD include:
  809.  
  810. *) Optical Image Generation (including specular/diffuse reflection,
  811.     refraction, multiple light sources, and articulated animation)
  812. *) An array of military vehicle design and evaluation V/L Codes
  813. *) Bistatic laser analysis
  814. *) Predictive Synthetic Aperture Radar Codes (including codes due to ERIM)
  815. *) High-Energy Laser Damage
  816. *) High-Power Microwave Damage
  817. *) Weights and Moments-of-Inertia
  818. *) Neutron Transport Code
  819. *) PATRAN [TM] and hence to ADINA, EPIC-2, NASTRAN, etc.
  820.     for structural/stress analysis
  821. *) X-Ray image calculation
  822.  
  823. BRL-CAD requires the UNIX operating system and is supported on more than a
  824. dozen product lines from workstations to supercomputers, including:  Alliant
  825. FX/8 and FX/80, Alliant FX/2800, Apple Macintosh II, Convex C1, Cray-1, Cray
  826. X-MP, Cray Y-MP, Cray-2, Digital Equipment VAX, Gould/Encore PN 6000/9000, IBM
  827. RS/6000, Pyramid 9820, Silicon Graphics 3030, Silicon Graphics 4D ``Iris'',
  828. Sun Microsystems Sun-3, and the Sun Microsystems Sun-4 ``SparcStation''.
  829. Porting to other UNIX systems is very easy, and generally only takes a day or
  830. two.
  831.  
  832. You may obtain a copy of the BRL-CAD Package distribution materials in one of
  833. two ways:
  834.  
  835. 1.  FREE distribution with no support privileges:  Those users with online
  836. access to the DARPA InterNet may obtain the BRL-CAD Package via FTP file
  837. transfer, at no cost, after completing and returning a signed copy of the
  838. printed distribution agreement.  A blank agreement form is available only via
  839. anonymous FTP from host ftp.brl.mil (address 128.63.16.158) from file
  840. "brl-cad/agreement".  There are encrypted FTP-able files in several countries
  841. around the world.  Directions on how to obtain and decrypt the files will be
  842. sent to you upon receipt of your signed agreement.  One printed set of BRL-CAD
  843. documentation will be mailed to you at no cost.  Note that installation
  844. assistance or telephone support are available only with full service
  845. distributions.
  846.  
  847. 2.  FULL SERVICE distribution:  The Survivability/Vulnerability Information
  848. Analysis Center (SURVIAC) administers the supported BRL-CAD distributions and
  849. information exchange programs for BRL.  Full service distributions cost
  850. US$500, and include a copy of the full distribution materials on your choice
  851. of magnetic tape media.  You may elect to obtain your copy via network FTP.
  852. One printed set of BRL-CAD documentation will be mailed to you.  BRL-CAD
  853. maintenance releases and errata sheets will be provided at no additional
  854. charge, and you will have access to full technical assistance by phone, FAX,
  855. letter, or E-mail.  Agencies of the U.S.  Federal Government may acquire the
  856. full service distribution with a simple MIPR or OGA funds transfer.
  857.  
  858. For further details, call Mr. Glenn Gillis at USA (410)-273-7794, send E-mail
  859. to <gillis@brl.mil>, FAX your letter to USA (410)-272-7413, or write to:
  860.  
  861.     BRL-CAD Distribution
  862.     SURVIAC Aberdeen Satellite Office
  863.     1003 Old Philadelphia Road
  864.     Suite 103
  865.     Aberdeen MD  21001  USA
  866.  
  867. Note that USA area code 410 will not go into effect until 1-Nov-91.  Prior to
  868. that date, please use area code 301.
  869.  
  870. Those sites selecting the free distribution may upgrade to full service status
  871. at any time.  All users have access to the BRL-CAD Symposia, workshops, user's
  872. group, and E-mail mailing list.
  873.  
  874. Sincerely,
  875.  
  876. Michael J. Muuss            Glenn M. Gillis
  877. Advanced Computer Systems        SURVIAC
  878. Ballistic Research Lab            Aberdeen Satellite Office
  879.  
  880. -------------------------------------------------------------------------------
  881. END OF RTNEWS
  882.  
  883.  
  884.