Path: utzoo!attcan!uunet!cs.utexas.edu!yale!quasi-eli!cs.yale.edu!musgrave-forest From: musgrave-forest@CS.YALE.EDU (F. Ken Musgrave) Newsgroups: comp.graphics Subject: Re: Raytracer Glass? Message-ID: <25492@cs.yale.edu> Date: 1 Jul 90 13:04:11 GMT References: <8600001@bradley> Sender: news@cs.yale.edu Reply-To: musgrave-forest@CS.YALE.EDU (F. Ken Musgrave) Organization: Yale University Computer Science Dept, New Haven CT 06520-2158 Lines: 53 In article <8600001@bradley> pwh@bradley.UUCP writes: > >What are the spectral properties of glass >that I could use in a raytracing program? > >I've a friend who's been working on the problem >for a while now, and it's given some interesting results, >but nothing that actually looks like glass.... Glass is not so easy to do - I got a Master's degree for doing it! Three things are necessary: (1) The proper index of refraction (1.5-1.9). (2) The proper reflection function - Fresnel's Law. (3) Dispersion. Also, you should propagate rays spawned by total internal reflection - many ray tracers quash such rays outright; this can lead to ugly artifacts in (glass) objects with planar surfaces. The first two things can be standard features in a ray tracer, the third is uncommon. There are two published solutions (that I know of): Thomas, S. W., "Dispersive Refraction in Ray Tracing", Visual Computer, vol. 2, no. 1, pp 3-8, Springer Int'l, Jan. '86 Musgrave, F. K., "Prisms and Rainbows: a Dispersion Model for Computer Graphics", Proceedings of the Graphics Interface '89, London, Canada, June '89 Neither of these references is easy to get. Perhaps UC Santa Cruz would provide a copy of my thesis: Musgrave, F. K., "A Realistic Model of Refraction for Computer Graphics", Master's Thesis, UC Santa Cruz, Santa Cruz CA, Sept. '87 As an alternative, I will put the troff sources for my GI paper where you can get them via anonymous ftp on weedeater.math.yale.edu - but you won't get any of the nice illustrations. At any rate to get dispersion into a ray tracer requires some hacking, and will in general slow down the rendering a *lot*. Thomas & I used quite different approaches; his would probably be faster for scenes without much dispersion, and vice-versa. A future version of Craig Kolb's RayShade may feature dispersion... (I'm not at liberty to distribute my ray tracer with dispersion.) Ken *===============================================================* F. Kenton ("Ken") Musgrave arpanet: musgrave-forest@yale.edu Yale U Depts of Math and CS (203) 432-4016 Box 2155 Yale Station Primary Metaphysical Principle: New Haven, CT 06520 Deus ex machina *===============================================================*