Stochastic Ray Tracing Using SIMD Processor Arrays

Abstract

Stochastic ray tracing is one of the most elegant methods for anti-aliasing and for generating such phenomena as soft shadows, fuzzy reflections, depth of field, and motion blur, which are difficult to accomplish with the conventional ray-tracing algorithm. Unfortunately, it makes use of stochastic sampling, which requires more than one sample for each pixel. One possible way to speed up ray tracing is to explore the inherent parallelism of the algorithm. In the past few years, the major focus of parallel ray-tracing research has been on the use of MIMD architectures. Although SIMD architectures may be ideal for ray tracing simple scenes, they have been thought unsuitable for ray tracing complex scenes. However, by using scene coherence, we have found that stochastic ray tracing using SIMD processor arrays can be as efficient as most of the existing MIMD ray-tracing algorithms and more cost effective.

This is a preview of subscription content, access via your institution.

References

  1. 1.

    Amanatides J (1984) Ray tracing with cones. Comput Graph (Proc SIGGRAPH'84) 18 (3):129–133

    Google Scholar 

  2. 2.

    Arvo J, Kirk D (1987) Fast ray tracing by ray classification. Comput Graph (Proc SIGGRAPH'87) 21 (4):55–64

    Google Scholar 

  3. 3.

    Cleary J, Wyvill B, Birtwistle G, Watti R (1986) Multiprocessor ray tracing. Comput Graph Forum 5 (1):3–12

    Google Scholar 

  4. 4.

    Cook RL (1986) Stochastic sampling in computer graphics. ACM Trans Graph 5 (1):51–72

    Google Scholar 

  5. 5.

    Cook RL, Porter T, Carpenter L (1984) Distributed ray tracing. Comput Graph (Proc SIGGRAPH'84) 18 (3):137–144

    Google Scholar 

  6. 6.

    Coquillart C, Gangnet M (1984) Shaded display of digital maps. IEEE Comput Graph Appl 4 (7):35–42

    Google Scholar 

  7. 7.

    Crow FC, Demos G, Hardy J, McLaugglin J, Sims K (1988) 3D image synthesis on the connection machine. Proc Parallel Processing for Computer Vision and Display, Leeds

  8. 8.

    Gaudet S, Hobson R, Chilka P, Calvert T (1988) Multiprocessor experiments for high-speed ray tracing. ACM Trans Graph 7 (3):151–179

    Google Scholar 

  9. 9.

    Glassner AS (1984) Space subdivision for fast ray tracing. IEEE Comput Graph Appl 4 (10):15–22

    Google Scholar 

  10. 10.

    Goldsmith J, Salmon J (1987) Automatic creation of object hierarchies for ray tracing. IEEE Comput Graph Appl 7 (5):14–20

    Google Scholar 

  11. 11.

    Green SA, Paddon DJ, Lewis E (1988) A parallel algorithm and tree-based computer architecture for ray traced computer graphics. Proc Parallel Processing for Computer Vision and Display, Leeds

  12. 12.

    Heckbert PS, Hanrahan P (1984) Beam tracing polygonal objects. Comput Graph (Proc SIGGRAPH'84) 18 (3):119–127

    Google Scholar 

  13. 13.

    Hillis WD (1985) The connection machine. MIT, Cambridge, Mass

    Google Scholar 

  14. 14.

    Iwata K, Fujimoto A, Tanaka T (1986) ARTS: accelrated ray-tracing system. IEEE Comput Graph Appl 6 (4):16–26

    Google Scholar 

  15. 15.

    Kay TL, Kajiya JT (1986) Ray tracing complex scences. Comput Graph (Proc SIGGRAPH'86) 20 (4):269–278

    Google Scholar 

  16. 16.

    Kobayashi H, Nishimura S, Kubota H, Nakamura T, Shigei Y (1988) Load balancing strategies for a parallel ray-tracing system based on constant subdivision. The Visual Computer 4 (4):197–209

    Google Scholar 

  17. 17.

    Lin T (1990) Parallel ray tracing using space subdivision. PhD thesis, University of London

  18. 18.

    Lin T, Slater M (1988) Parallel ray tracing using an integrated space subdivision scheme. Proc Sequent Users' Resource Forum (SURF) 2nd Ann. Meeting, September 1988, 478–487

  19. 19.

    Mastin GA, Watterberg PA, Mareda JF (1987) Fourier synthesis of ocean scenes. IEEE Comput Graph Appl 7 (3):16–23

    Google Scholar 

  20. 20.

    Ohta M, Maekawa M (1987) Ray coherence theorem and constant time ray tracing algorithm. Comput Graph (Proc CG International'87): Karuisawa-machi, Japan) Computer Graphics 1987. proceedings of CG International 1987 ed Tosiyasu L. Kunii

  21. 21.

    Owczarczyk J (1988) Ray tracing: a challenge for parallel processing. Proc Parallel Processing for Computer Vision and Display, Leeds

  22. 22.

    Plunkett DJ, Bailey MJ (1985) The vectorization of a ray tracing algorithm for improved execution speed. IEEE Comput Graph Appl 5 (8):52–60

    Google Scholar 

  23. 23.

    Priol T, Bouatouch K (1989) Static load balancing for a parailel ray tracing on a MIMD hypercube. The Visual Computer 5:109–119

    Google Scholar 

  24. 24.

    Scherson ID, Caspary E (1988) Multiprocessing for ray-tracing: a hierarchical self-balancing approach. The Visual Computer 4 (4):188–196

    Google Scholar 

  25. 25.

    Williams NS, Buxton BF, Buxton H (1987) Distributed ray tracing using an SIMD processor array. Report 427, Computer Science Dept, Queen Mary College

Download references

Author information

Affiliations

Authors

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Lin, T.T.Y., Slater, M. Stochastic Ray Tracing Using SIMD Processor Arrays. The Visual Computer 7, 187–199 (1991). https://doi.org/10.1007/BF01900835

Download citation

Key words

  • Stochastic ray tracing
  • Height field
  • Hierarchical bounding volume
  • Space subdivision
  • MIMD
  • SIMD