“Hypertexture” by Perlin and Hoffert

  • ©Ken Perlin and Eric M. Hoffert







    We model phenomena intermediate between shape and texture by using space-filling applicative functions to modulate density. The model is essentially an extension of procedural solid texture synthesis, but evaluated throughout a volumetric region instead of only at surfaces.We have been able to obtain visually realistic representations of such shape+texture (hypertexture) phenomena as hair, fur, fire, glass, fluid flow and erosion effects. We show how this is done, first by describing a set of base level functions to provide basic texture and control capability, then by combining these to synthesize various phenomena.Hypertexture exists within an intermediate region between object and not-object. We introduce a notion of generalized boolean shape operators to combine shapes having such a region.Rendering is accomplished by ray marching from the eye point through the volume to accumulate opacity along each ray. We have implemented our hypertexture rendering algorithms on a traditional serial computer, a distributed network of computers and a coarse-grain MIMD computer. Extensions to the rendering technique incorporating refraction and reflection effects are discussed.


    1. Tuy, H. and Tuy, L. Direct 2-D Display of 3-D Objects, IEEE Computer Graphics and Applications 4, 10 (October 1984), pp. 29-33.
    2. Lorensen, W. Marching Cubes: A High Resolution 3D Surface Construction Algorithm, In Computer Graphics 21, 4 (July 1987), pp. 163-169.
    3. Perlin, K. Functionally Based Modeling. SIG- GRAPH Course Notes (August 1988).
    4. Frieder, G., Gordon, D. and Reynolds, R. A. Backto-Front Display of Voxel-Based Objects, IEEE Computer Graphics and Applications, (January 1985), pp. 52-60.
    5. Perlin, K. An Image Synthesizer, In Computer Graphics 19, 3 (July 1985).
    6. Kaufman, Arie. Efficient Algorithms for 3D Scan- Conversion of Parametric Curves, Surfaces and Volumes, In Computer Graphics 21, 4 (July 1987).
    7. Levoy, Marc. Volume Rendering: Display of Surface from Volume Data, IEEE Computer Graphics and Applications (May 1988), pp. 29-36.
    8. Drebin, R., Carpenter, L. and Hanrahan, P. Volume Rendering, In Computer Graphics 22, 4 (August 1988).
    9. Sabella, Paolo. A Rendering Algorithm for Visualizing 3D Scalar Fields, in Computer Graphics 22, 4 (August 1988).
    10. Upson, C. and Keeler, M. V-BUFFER: Visible Volume Rendering, In Computer Graphics 22, 4 (August 1988).
    11. Kaufman, A. and Bakalash, R. A 3D Cellular Frame Buffer, Proceedings of EUROGRAPHICS 1985 (September 1985), Nice, France, pp. 215-220.
    12. Amanatides, J. and Woo, A., A Fast Voxel Traversal Algorithm for Ray Tracing, Proceedings of EURO- GRAPttlCS 1987 (Amsterdam, Holland), pp. 3-10.
    13. Toth, D. L., On Ray Tracing Parametric Surfaces, In Computer Graphics 19, 3 (August 1985).
    14. Potmesil, M. and Hoffert, E., The Pixel Machine: A Parallel Image Computer, In Computer Graphics 23, 3 (August 1989).
    15. Blinn, J., A Generalization of Algebraic Surface Drawing, “ACM Transactions on Graphics 1,” pp 235., 1982.
    16. Kajiya, J., Herzen, B., “Ray Tracing Volume Densities,” In Computer Graphics 18, 3 (August 1984).
    17. Norton, A. Clamping: A Method of Antialiasing Textured Surfaces by Bandwidth Limiting in Object Space. In Computer Graphics 16, 3 (August 1982).
    18. Zadeh, L. A., Fuzzy Sets and Applications (selected papers), John Wiley and Sons, New York, 1987.
    19. Zimmerman, H. J., Fuzzy Set Theory- and Its Applications, Kluwer-Nijhoff, Hingham, 1985, pp. 30-36.
    20. Menzel, D. H., ed., Fundamental Formulas of Physics, vol. 2, Dover, New York, 1960, pp. 370-371.
    21. Cook, R., Distributed Ray Tracing, In Computer Graphics 18, 3 (August 1984).
    22. Perlin, K., Synthesizing Realistic Textures by the Composition of Perceptually Motivated Functions {Ph.D. Dissertation}, New York University, (Feb. 1986).
    23. Kajiya, J., Anisotropic Reflection Models. In Computer Graphics 19, 3 (August 1985).

ACM Digital Library Publication: