An implementation of ray tracing algorithm for the multiprocessor machines
DOI:
https://doi.org/10.2298/YJOR0601125SKeywords:
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
Amanatides, J., and Woo, A., "A fast Voxel traversal algorithm for ray tracing", Proceedings of Eurographics 1987, 3-9.
Booch, G., Object-Oriented Analysis and Design with Applications, Addison-Wesley, Reading, MA, 1994.
Bouatouch, K., and Pior, T., "Parallel space tracing: An experience on an iPSC hypercube", New Trends in Computer Graphics, 1988, 170-188.
Bui-Tuong, P., "Illumination for computer generated pictures", Communications of the ACM, 6 (1975) 311-317.
Crow, F.C., "3D image synthesis on the connection machine", Parallel Processing for Computer Vision and Display, 1 (1988).
Gardener, R., "An internet-based distributed rendering system", personal communication, 2004.
Goldsmith, J., and Salmon, J., "Automatic creation of object hierarchies for ray tracing", Computer Graphics & Applications, 5 (1987) 14-20.
Haines, E., "A proposal for standard graphics environment", Computer Graphics & Applications, 11 (1987) 3-5.
Jevans, D.A.J., "A review of multi-computer ray tracing", Ray Tracing News, 1 (1989) 8-15.
Kay, T.L., and Kajiya, J.T., "Ray tracing complex scenes", Proceedings of SIGGRAPH 1986, in Computer Graphics, 4 (1986) 269-278.
Lee, T.Y., Raghavendra, C.S., and Nicholas, J.B., "Parallel implementation of a ray tracing algorithm for distributed memory parallel computers", Concurrency – Practice and Experience, 9 (1997) 947-965.
Nethercote, N., and Seward, J., "Valgrind: A program supervision framework", Runtime Verification Workshop, 2003.
Nishimura, H., Ohno, H., Kawata, T., Shirakawa, I., and Omura, K., "LINKS-1: A parallel pipelined multimicrocomputer system for image creation", Proceedings of 10th IEEE Annual International Symposium on Computer Architecture, 1983.
"POSIX 1003.1c standard", IEEE, 1995.
Quinn, M.J., "Parallel programming in C with MPI and OpenMP", McGraw-Hill, 2003.
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., and Lorensen, W., "Object-oriented modeling and design", Prentice Hall, Englewood Cliffs, NJ, 1991.
Ungerer, T., Robič, B., and Šilc, J., "A survey of processors with explicit multithreading", ACM Computing Surveys, 1 (2003) 29-63.
Whitted, T., "An improved illumination model for shaded display", Communications of the ACM, 6 (1980) 343-349.
Downloads
Published
Issue
Section
License
Copyright (c) 2006 YUJOR
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.