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
*** (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
Issue
Section
License
Copyright (c) YUJOR
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.