An implementation of ray tracing algorithm for the multiprocessor machines

Authors

  • Aleksandar B. Samardžić Faculty of Mathematics, Belgrade
  • Dušan Starčević Faculty of Organizational Sciences, Belgrade
  • Milan Tuba Faculty of Mathematics, Belgrade

DOI:

https://doi.org/10.2298/YJOR0601125S

Keywords:

computer graphics, ray tracing, parallelization, multiprocessors.

Abstract

Ray Tracing is an algorithm for generating photo-realistic pictures of the 3D scenes, given scene description, lighting condition and viewing parameters as inputs. The algorithm is inherently convenient for parallelization and the simplest parallelization scheme is for the shared-memory parallel machines (multiprocessors). This paper presents two implementations of the algorithm developed by the authors for alike machines, one using the POSIX threads API and another one using the OpenMP API. The paper also presents results of rendering some test scenes using these implementations and discusses our parallel algorithm version efficiency.

References

*** (1995) POSIX 1003.1c standard. IEEE

Amanatides, J., Woo, A. (1987) A fast Voxel traversal algorithm for ray tracing. u: Proceedings of Eurographics, 3-9

Booch, G. (1994) Object-oriented analysis: Design with applications. Menlo Park, CA: Benjamin-Cummings

Bouatouch, K., Priol, T. (1988) Parallel space tracing: An experience on an iPSC hypercube. New Trends in Computer Graphics, 170-188

Bui-Tuong, P. (1975) Illumination for computer generated pictures. Communications of the ACM, 6 311-317

Crow, F.C. (1988) 3D image synthesis on the connection machine: Parallel processing for computer vision and display. 1

Gardener, R. (2004) An internet-based distributed rendering system, personal communication

Goldsmith, J., Salmon, J. (1987) Automatic creation of object hierarchies for ray tracing. Computer Graphics and Applications, 5 14-20

Haines, E. (1987) A proposal for standard graphics environment. Computer Graphics and Applications, 11 3-5

Jevans, D.A.J. (1989) A review of multi-computer ray tracing. Ray Tracing News, 1 8-15

Kay, T.L., Kajiya, J.T. (1986) Ray tracing complex scenes. ACM SIGGRAPH Computer Graphics, 20(4): 269

Lee, T.Y., Raghavendra, C.S., Nicholas, J.B. (1997) Parallel implementation of a ray tracing algorithm for distributed memory parallel computers. Concurrency Practice and Experience, 9(10): 947

Nethercote, N., Seward, J. (2003) Valgrind: A program supervision framework. u: Runtime Verification Workshop

Nishimura, H., Ohno, H., Kawata, T., Shirakawa, I., Omura, K. (1983) LINKS-1: A parallel pipelined multimicrocomputer system for image creation. u: Proceedings of 10th IEEE Annual International Symposium on Computer Architecture

Quinn, M.J. (2003) Parallel programming in C with MPI and OpenMP. Dubuque, Iowa: McGraw-Hill

Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorenson, W. (1991) Object-oriented madeling and design. Englewood Cliffs, NJ, itd: Prentice Hall

Ungerer, T., Robič, B., Šilc, J. (2003) A survey of processors with explicit multithreading. ACM Computing Surveys, 35(1): 29

Whitted, T. (1980) An improved illumination model for shaded display. Communications of the ACM, 23 (6): 343

Downloads

Published

2006-03-01

Issue

Section

Research Articles