Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!think.com!mintaka!bloom-beacon!eru!hagbard!sunic!mcsun!inesc!eniac.inesc.pt!mag From: mag@eniac.inesc.pt (Manuel Noronha Gamito) Newsgroups: comp.graphics Subject: Help on raytracing proc. defined fractals. Keywords: raytracing, Perlin's Turbulence. Message-ID: <1727@inesc.UUCP> Date: 30 Mar 91 17:06:20 GMT Sender: news@inesc.UUCP Lines: 34 Nntp-Posting-Host: eniac.inesc.pt Hi, guys! Perhaps somebody can help me about this: I'm trying to raytrace a procedurally defined height field using Perlin's turbulence function, wich has fractal characteristics. The key problem in this is to find a good ray-object intersection algorithm (I guess this is the most discussed issue about raytracing :-) A rather obvious solution is to discretize the turbulence function into a two-dimensional array and use standard methods for tesselated height fields like Musgrave's gridtracing. I thought of an algorithm that doesn't use that much dynamic memory without being too slow (... I hope): 1- Make the ray go trough a hierarchy of cheesecake extents surrounding progessively smaller areas of the fractal surface. The process stops when a leaf extent is found surrounding an area small enough so that the surface normal is known to be well behaved inside it. 2- Apply Newton's root findind method to calculate the ray-surface intersection. If the area found in 1 was correctly calculated there won't be any stationarity points in it's interior and therefore Newton's method is guaranteed to converge. Could anybody point out possible weaknesses, give sugestions, direct me to good papers on this topic, ... you name it. Thanks! -- Manuel Noronha Gamito, INESC | email: mag@eniac.inesc.pt "There are billions of planets in our galaxy. | mcsun!inesc!mag@uunet.UU.NET Why should this modest planet be the only one to have | Phone: +351 1 545150 living forms? The Cosmos must be filled with life!" | Fax: +351 1 525843