Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!thunder.mcrcim.mcgill.edu!snorkelwacker.mit.edu!bu.edu!att!tut.cis.ohio-state.edu!sphere.cis.ohio-state.edu!ebert From: ebert@sphere.cis.ohio-state.edu (David S. Ebert) Newsgroups: comp.graphics Subject: Re: Hypertextures Summary: paper on volume density functions in SIGGRAPH 90 Message-ID: <87176@tut.cis.ohio-state.edu> Date: 10 Jan 91 17:36:31 GMT References: <1991Jan2.195806.25330@funet.fi> Sender: news@tut.cis.ohio-state.edu Reply-To: David S. Ebert Organization: The Ohio State University Dept of Computer & Information Science Lines: 83 In article <1991Jan2.195806.25330@funet.fi> jk87377@korppi.tut.fi (Kouhia Juhana Krister) writes: > > >Hi, > >I'm implementing hypertextures descriped in "Hypertexture" by Ken >Perlin and Eric Hoffert in SIGGRAPH '89. > > >Any ideas for implementing hypertextures? >Experiences in implementing hypertextures, anyone? >I'm interested in to know what is in SIGGRAPH '90 about this subject. > >Oh yeah, this is not my exercise. > > >Juhana Kouhia >jk87377@tut.fi Re: SIGGRAPH'90 paper on Hypertextures: ----------------------------------- Well, there was a paper in SIGGRAPH90 on a related topic to Hypertextures. The paper is "Rendering and Animation of Gaseous Phenomena by Combining Fast Volume and Scanline A-buffer Techniques" by David S. Ebert and Richard E. Parent. This paper describes a system for volume rendering volume density functions and combining these volume rendered objects with scanline rendered surface-defined objects. The approach in the paper has the following advantage: 1) Normal polygonal or patch objects are rendered much faster than with raytracing (scanline a-buffer used). The quality of a scanline rendered image vs. raytracing can always be argued. 2) Volume tracing stops once full coverage of the pixel is achieved. This has the advantage that if a wall is in front of the volume defined object, no volume tracing will occur for the pixel. 3) The paper also has an efficient method for volume shadowing using three-dimensional shadow tables. This paper talks about volume density functions for producing images and animations of clouds, steam, fog, etc. Volume density functions are basically the same as hypertextures, but I feel that volume density function is a more descriptive term. Even though the functions in the paper are rendered using a low-albedo gaseous illumination model, the functions can easily be rendered using an opacity and illumination formula for solid objects. (In fact, the preliminary version of the paper had a "blobby" sphere in one of the images). The paper gives alot of detail on implementation. Re: The speed of rendering hypertextures and volume density functions: --------------------------------------------------------------------- I found that with my initial tests, 70-90% of the calculation time was being spent in turbulence function evaluation. We spent a few weeks optimizing the noise and turbulence functions and achieved significant speed-ups. Some things we did included making table dimensions for the noise lattice be powers of 2 so that we could use bit-shifting operations for indexing into the 3D array. We also pre-computed offsets for the indexing into the 3D array. Initially, the assembly code for indexing into our 3D noise array was over 21 instructions. We were able to reduce this to less than 10. Some other useful things we did included using tables for cos, sin, and pow. Especially for cos and sin, a table of say 20,000 entries is probably sufficient resolution. I also do not feel that the speed of rendering these functions should be a limitation to producing animations. Animations featuring these functions are very well suited for distributed processing. For the animations shown with my talk, we used a network of 50 machines. Since each frame takes over 30 minutes, the distribution software's overhead is negligible. David ----- -=- -- David S. Ebert, Department of Computer and Information Science ----- --- The Ohio State University; 2036 Neil Ave. Columbus OH USA 43210-1277 ---- -- ebert@cis.ohio-state.edu or ..!{att,pyramid,killer}!cis.ohio-state.edu!ebert -------------------------------------------------------------------------------