• No results found

Figur 25 Beräkning av histogrammet på GPU och CPU för BVH

6.3 Framtida arbeten

Ett kortsiktigt perspektiv på arbetet är att vidare undersöka flaskhalsen som bildas mellan CPU och GPU då denna flaskhals haft en stor påverkan på algoritmernas prestanda. Om denna flaskhals motverkas antingen helt eller delvis så vore det intressant att undersöka hur resultaten blir för att eventuellt kunna dra fler eller nya slutsatser och för att se hur uppdateringstiden för algoritmerna påverkas. Vilket är viktigt för att kunna dra slutsatser för framtida arbetens resultat för att kunna få strålföljning att effektivt köras i realtid.

För att kunna vidareutveckla arbetet ur ett långsiktigt perspektiv skulle algoritmerna kunna testas i spelmiljöer. Vilket skulle vara intressant eftersom inte allt i ett spel renderas med strålföljning utan görs med hjälp av rastreringsteknik som används för att skapa hybrid scener. Resultaten skulle bättre återspegla hur algoritmerna kommer användas vilket vore intressant (Nvidia Gameworks 2018). Fler algoritmer vore även intressant att prova då Zellman et al (2019) utvecklade en BVH lösning som är specialiserad på glesa scener. Även jämnförningar av olika BVH lösningar vore intressant. Där uppdatering används för att undersöka hur dessa mäter sig mot konstruktionstider samt hur ofta en omkonstruktion måste ske för att behålla kvaliteten på träden. Ett annat långsiktigt perspektiv skulle vara ifall CUDA kunde implementeras i programspråket i spelmotorn Unity. För att se resultaten av en implementation med CUDA språket. Unity som spelmotor är CPU centrerad och en lösning baserad på CUDA skulle kunna göra att grafikkortets fulla potential går att utnyttja. Anledningen till att det inte går att få till så effektiva resultat i Unity är att det finns hinder och problem med HLSL vilket skulle kunna lösas med CUDA.

33

Referenser

Appel, A. (1968). Some techniques for shading machine renderings of solids. In Proceedings of the April 30--May 2, 1968, spring joint computer conference (AFIPS ’68). Association for Computing Machinery, New York, NY, USA, 37–45. doi:10.1145/1468075.1468082.

Bittner, J., Hapala, M. & Havran, V. (2015). Incremental BVH construction for ray tracing. Comput. Graph. 47(C), ss. 135–144. doi: 10.1016/j.cag.2014.12.001.

Clark, J. (1976). Hierarchical geometric models for visible surface algorithms. Commun. ACM, 19(10), ss. 547–554. doi:10.1145/360349.360354.

Cook, R., Porter, T. & Carpenter, L. (1984). Distributed ray tracing. Comput. Graph. 18(3), ss 137– 145. doi:10.1145/964965.808590.

Doyle, M., Fowler, C. & Manzke, M. (2013). A hardware unit for fast SAH-optimised BVH construction. ACM Trans. Graph. 32(4), Artikel 13, 10 sidor. doi:10.1145/2461912.2462025. Ejvegård, R. (2009). Vetenskaplig metod. 4.uppl., Lund: Studentlitteratur.

Fujimoto, A., Tanaka, T. & Iwata, K. (1986). ARTS: Accelerated Ray-Tracing System. IEEE

Computer and Applications, 6(4). ss. 16 - 17. doi: 10.1109/MCG.1986.276715.

Geimer, M. & Müller, S. (2003) A cross‐platform framework for interactive ray tracing. Tagungsband Graphiktag der Gesellschaft für Informatik. Frankfurt am main, Tyskland. ss. 25– 34.

Gruen, H., Roze, M. & Story, J. (2019). “Shadows” of the Tomb Raider: Ray Tracing Deep Dive [video]. https://www.gdcvault.com/play/1026163/-Shadows-of-the-Tomb [2020-05-08]. Günther, J., Fredrich, H., Seidel, HP. & Slusallek, P. (2006). The Visual Computer. 22(9-11). ss.

785-792. doi:10.1007/s0037-006-0063-x.

Havran, V. (2000) Heuristic Ray Shooting Algorithms. Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University in Prague.

Karras, Tero. (2012). Maximizing parallelism in the construction of BVHs, octrees, and k-d trees.

Proceedings of the Fourth ACM SIGGRAPH / Eurographics conference on High-Performance Graphics. Goslar, Tyskland.

Kay, T. & Kajiya, J. (1986). Ray tracing complex scenes. Proceedings of the 13th annual conference

on Computer graphics and interactive techniques. Association for Computing Machinery, New

York, NY, USA, ss. 269–278. doi: 10.1145/15922.15916.

Lauterbach, C., Garland, M., Sengupta, S., Luebke, D. & Manocha,D. (2009). Fast BVH Construction on GPUs. Computer Graphics Forum. 28(2), ss. 375-384. doi: 10.1111/j.1467-8659.2009.01377.x.

Li, Z., Deng, Y. & Gu, M. (2017). Path Compression Kd-trees with Multi-layer Parallel Construction. A Case Study on Ray Tracing. Proccedings of the 21st ACM SIGGRAPh on interactive 3D Graphics and Games. 16(1-8). doi: 10.1145/3023368.3023382.

34

Liang, X., Yang, H., Zhang, Y., Yin, J. & Cao, Y. (2016). Efficent kd-tree construction for ray tracing using ray distribution sampling. Multimedia Tools and Applications. 75(23). ss 15881–15899. doi:10.1007/s11042-015-2896-7.

Liu, X., Deng, Y., Ni, Y., Li, Z. (2015). FastTree: A Hardware KD-Tree Construction Acceleration Engine for Real-Time Ray Tracing. Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition. ss 1595-1598.

Marmitt, G., Friedrich, H. & Slusallek, P. (2008), Efficient CPU‐based Volume Ray Tracing Techniques. Computer Graphics Forum. 27(6). ss. 1687-1709. doi:10.1111/j.1467-8659.2008.01179.x.

O’Donnell, Y. (2018) Precomputed Global Illumination in Frostbite. Game Developers Conference. San Francisco, USA 21 - 23 mars 2018.

Pantaleoni, J. & Luebke, D. (2010). HLBVH: hierarchical LBVH construction for real-time ray tracing of dynamic geometry. Proceedings of the Conference on High Performance Graphics. Eurographics Association, Goslar, DEU, ss. 87–95.

Rubin, S. & Whitted,T. (1980). A 3-dimensional representation for fast rendering of complex scenes. Proceedings of the 7th annual conference on Computer graphics and interactive

techniques. Association for Computing Machinery, New York, NY, USA, ss. 110–116. doi:

10.1145/800250.807479.

Real-Time Raytracing for Interactive Global Illumination Workflows in Frostbite (2018) [video]. San Francisco: Nvidia GameWorks

https://www.youtube.com/watch?v=rhlGBCSv02M&t=202s [2018 - 06-08].

Rege,A. (2008). An Introduction to Modern GPU Arhitecture [PowerPoint-presentation]. Hämtade från Januari 18 - 2020.

http://download.nvidia.com/developer/cuda/seminar/TDCI_Arch.pdf

Satish,N., Harris, M. & Garland, M. (2009) Designning effeicient sorting algorithms for manycore GPUs. IEEE International Symposium on Parallel & Distributed Processing. ss. 1-10. doi :10.1109/IPDPS.2009.5161005.

Shadows of the Tomb Raider (2018). Square Enix. Tillgänglig på Internet: https://tombraider.square-enix-games.com/en-gb.

Viitanen, T. Koskela, M. Jääskeläinen, P. & Kultala, H. (2017). MergeTree: A Fast Hardware HLBVH Constructor for Animated Ray tracing. ACM Transactions on Graphics. 36(5), artikel 169. 14 sidor. doi: 10.1145/3132702.

Viitanen, T. (2019). Acceleration Data Structure Hardware (And Software). Siggraph 2019. LA, USA.

Vinkler, M., Havran, V. & Bittner,J. (2014). Bounding volume hierarchies versus kd-trees on contemporary many-core architectures. Proceedings of the 30th Spring Conference on

Computer Graphics. Association for Computing Machinery, New York, NY, USA, ss. 29–36.

35

Vinkler, M., Havran, V. & Bittner, J. (2016). Performance Comparison of Bounding Volume Hierarchies and Kd‐Trees for GPU Ray Tracing. Computer Graphics Forum, 35(8), ss. 68-79. doi:10.1111/cgf.12776.

Wald, I., Benthin, C. & Boulos, S. (2008). Getting rid of packets: Efficient SIMD single-ray traversal using multibranching bvhs. Symposium on Interactive Ray Tracing 2008. doi: 10.1109/RT.2008.4634620.

Wald, I. & Havran, V. (2006). IEEE Symposium on Interactive Ray Tracing. Salt Lake City, UT, US. 18-20 Sep. doi:10.1109/RT.2006.280216.

Wald, I. (2007). On fast Construction of SAH-based Bounding Volume Hierarchies. Proceedings

of the 2007 IEEE Symposium on Interactive Ray Tracing. IEEE Computer Society, USA. ss.

33–40. doi: 10.1109/RT.2007.4342588.

Wald, I., Mark, W.R., Günther, J., Boulos, S., Ize, T., Hunt, W., Parker, S.G. & Shirley, P. (2009), State of the Art in Ray Tracing Animated Scenes. Computer Graphics Forum, 28(6), ss. 1691-1722. doi:10.1111/j.1467-8659.2008.01313.x.

Whitted, T. (1980). An improved illumination model for shaded display. Commun. ACM 23, 6 (June 1980), ss 343–349. doi:10.1145/358876.358882.

Wächter, C. & Keller, A. (2006). Instant Ray Tracing: The Bounding Interval Hierarchy. Proceedings of the 17th Eurographics Symposium On Rendering, ss. 139-149. doi: 10.2312/EGWR/EGSR06/139-149.

Yagel, R. & Meeker, J. (1997), Priority‐driven Ray Tracing.The Journal of Visualization and Computer Animation, 8(1). ss 17-32. doi: 10.1002/(SICI)1099-1778(199701)8:1<17::AID-VIS154>3.0.CO;2-m.

Yang, X., Yang, B., Wang, P. & Xu, D. (2016). Multimedia Tools and Applications. 72(2). ss 1349-1364. doi:10.1007/s11042-014-2371-x.

Yoon, S., Curtis, S. & Manocha, D. (2007). Ray tracing dynamic scenes using selective restructuring. Proceedings of the 18th Eurographics conference on Rendering Techniques. Eurographics Association, Goslar, Tyskland, ss. 73–84.

Zellman, S., Hellmann, M. & Lang, U. (2019). A Linear Time BVH Construction Algorithm for Sparse Volumes. 2019 IEEE Pacific Visualization Symposium, Bangkok, Thailand, ss. 222 -

226. doi:10.1109/PacificVis.2019.00033.

Zhou, K., Qiming, H., Wang, R. & Guo, B. (2008). Real-time KD-tree construction on graphics hardware. ACM Transactions on Graphics (TOG).(December 2008) 27(5). ss 11. doi :10.1145/1409060.1409079.

Zlatuška, M. & Havran, V. (2010) Ray Tracing on a GPU with CUDA - Comparative Study of Three Algorithm. Faculty of Electrical Engineering, Czech Technical University in Prauge.

Related documents