全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...

The Implementation of Ray Tracing Algorithm with OpenMP Parallelization

DOI: 10.4236/jcc.2024.121008, PP. 120-130

Keywords: Parallelization, Ray Tracing, Parallel Computer Architecture, OpenMP

Full-Text   Cite this paper   Add to My Lib

Abstract:

Ray tracing is a computer graphics method that renders images realistically. As the name suggests, this technique primarily traces the path of light rays interacting with objects in a scene [1], permitting the calculation of lighting and reflecting impact [2]. As ray tracing is a time-consuming process, the need for parallelization to solve this problem arises. One downside of this solution is the existence of race conditions. In this work, we explore and experiment with a different, well-known solution for this race condition. Starting with the introduction and the background section, a brief overview of the topic is followed by a detailed part of how the race conditions may occur in the case of the ray tracing algorithm. Continuing with the methods and results section, we have used OpenMP to parallelize the Ray tracing algorithm with the different compiler directives critical, atomic, and first-private. Hence, it concluded that both critical and atomic are not efficient solutions to produce a good-quality picture, but first-private succeeded in producing a high-quality picture.

References

[1]  Nicks, S. (2023, February 17). RTX Cards Information and Review 2023. StoneAgeHacks.
https://stoneagehacks.com/rtx/
[2]  Pharr, M. and Humphreys, G. (2016) Physically Based Rendering: From Theory to Implementation. Morgan Kaufmann, Burlington.
[3]  Breitenmoser, S. (2023) The Ray Tracing Update Is Finally Coming to Elden Ring. EarlyGame.
https://earlygame.com/gaming/ray-tracing-update-elden-ring
[4]  Geeks, L. (2023) Ray Tracing Techniques: A Comprehensive Guide for Stunning Visuals.
https://lambdageeks.com/ray-tracing-techniques/
[5]  Pear-soncmg.com (n.d.).
https://ptgmedia.pearsoncmg.com/images/9780321399526/samplepages/0321399528.pdf
[6]  Ahmad, S. (2023, February 17) Technology.
https://expertsadvices.net/technology/page/3/
[7]  Kirvan, P. (2022, May 26) What Is Multithreading? WhatIs.
https://www.techtarget.com/whatis/definition/multithreading
[8]  Awati, R., Gillis, A.S. and Steele, C. (n.d.) Graphics Processing Unit (GPU).
https://www.techtarget.com/searchvirtualdesktop/definition/GPU-graphics-processing-unit
[9]  Sanderson, J. (2023, September 6) The Evolution of Metaverse Gaming and Its Impact. Textually.
https://textually.org/the-evolution-of-metaverse-gaming-and-its-impact/
[10]  Larus, J. and Kozyrakis, C. (2008) Transactional Memory. Communications of the ACM, 51, 80-88.
https://doi.org/10.1145/1364782.1364800
[11]  Slusallek, C. and Daniel, P. (2003) PVG 2003 (Parallel and Large-Data Visualization and Graphics). Computers & Graphics, 27, 662.
https://doi.org/10.1016/S0097-8493(03)00098-0
[12]  User (n.d.) Java Core Technology Volume 18. Java Concurrency.
https://topic.alibabacloud.com/a/java-core-technology-volume-18-java-concurrency_1_27_30242925.html
[13]  Trobec, R. (2018) Introduction to Parallel Computing: From Algorithms to Programming on State. Springer International Publishing.
https://doi.org/10.1007/978-3-319-98833-7
[14]  TNW (n.d.) Ray Tracing (Graphics) News.
https://thenextweb.com/topic/ray-tracing-graphics
[15]  Manjunath, A. (n.d.) Adarshkoppmanjunath/Raytracing. GitHub.
https://github.com/AdarshKoppManjunath/Raytracing

Full-Text

comments powered by Disqus

Contact Us

service@oalib.com

QQ:3279437679

WhatsApp +8615387084133

WeChat 1538708413