Application of Vulkan technology for 3D Visualization of large computing data which change over the time

Authors

  • M. B. Mustafin Al-Farabi Kazakh National University
  • D. Zh. Akhmed-Zaki University of International Business
  • O. N. Turar Al-Farabi Kazakh National University

DOI:

https://doi.org/10.26577/JMMCS-2019-2-25
        118 73

Keywords:

Vulkan, 2D, 3D, computer graphics, visualization, double buffering, grid model, multithreading

Abstract

In this work, a high-performance app for visualization of large-size grid models (about a million cells) with using of Vulkan technologies was developed. Vulkan is a new software interface (API) which controls the graphic processor (GPU). Vulkan became a low-level API, thanks to which the entire GPU capability was used, such as memory and synchronization control, error checking, creation of commands performed by graphic processor, etc. Thus it shows high performance with less load on the CPU. For the operation of the application without interruption, double buffering of vertex buffer and multi-threading of the processor was used. The results of Poisson’s equation, namely data of each iteration, were taken for the 2D and 3D model visualization. Using of the above given methods, the Poisson’s equation grid model examples are given. As a result of this work, a prototype of a visualizer was developed and presented, and it can be used for any results of numerical mathematical modeling on structured and unstructured 3D grids.

References

[1] Wolff D. , OpenGL 4.0 Shading Language Cookbook (Birmingham: Packt Publishing Ltd., 2011), 63-71.
[2] Sellers G., Wright R.S. Jr., Haemel N. , OpenGL SuperBible: Comprehensive Tutorial and Reference (7th Edition). (Addison-Wesley, 2015) 848.
[3] Dave Shreiner et al. , OpenGL programming guide : the offcial guide to learning OpenGL, version 4.3. (Addison-Wesley, 2013), 101-112.
[4] Adler, Daniel G, Oleg Nenadic and Walter Zucchini. , "RGL : A R-library for 3D visualization with OpenGL." (2003).
[5] Mullen T. et al. , "Real-time modeling and 3D visualization of source dynamics and connectivity using wearable EEG", 2013 35th Annual International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), Osaka, 2184-2187, 2013.
[6] Badretdinov M.R., Badretdinov T.R., Borshyuk M.S., "Primeneniye biblioteki opengl dlya vizualizatsii rezul'tatov chislennogo matematicheskogo modelirovaniya na setkakh bol'shoy razmernosti [Application the opengl library to visualize the results of numerical mathematical modeling on high-dimensional grids]" , Herald UGATU, no 4 (2015): 84-94.
[7] Abraham F., Celes W. , "Distributed Visualization of Complex Black Oil Reservoir ModelsEurographics Symposium on Parallel Graphics and Visualization (2009), EGPGV (2009), Munich, Germany, 87-94.
[8] "Vulkan." Khronos Group, accessed November 13, 2017, https://www.khronos.org/vulkan/.
[9] "Vulkan." Nvidia developer, accessed December 9, 2017, https://developer.nvidia.com/Vulkan/.
[10] Sellers G. , Vulkan. Developer's Guide. Offcial guide, trans. A. B. Boreskova (DMK Press, 2017), 394.
[11] Pawel Lapinski , Vulkan Coockbook. Work through recipes to unlock the full potential of the next generation graphics API - Vulkan (Birmingham: Packt Publishing Ltd., 2017), 151-169.
[12] "SPIR Overview." Khronos Group, accessed March 3, 2018, https://www.khronos.org/spir/.
[13] "C++ Abstraction library for Vulkan API." L. O. Tolo., accessed March 3, 2018, https://github.com/ larso0/bp.
[14] "Vulkan Memory Allocator." Advanced Micro Devices Inc., accessed February 26, 2018, https://github.com/GPUOpenLibrariesAndSDKs/VulkanMemoryAllocator.
[15] Khronos Vulkan Working Group , Vulkan 1.0.98 - A Specification (with KHR extensions). 1.0.98. Jan. 2019. (Khronos Group, 2019), 57-74.
[16] Richard H. Carver, Kuo-Chung Tai. , Modern multithreading: implementing, testing, and debugging multithreaded Java and C++/Pthreads/Win32 programs. (USA: WILEY-INTERCIENCE, 2006), 112-124.
[17] Verzhbizckiy V.M. , "Chislennyye metody (matematicheskiy analiz i obyknovennyye differentsial'nyye uravneniya) [Numerical methods (mathematical analysis and ordinary differential equations)]", (Moscow: High school, 2001), 98-105.
[18] Samarskiy A.A., Nickolayev Ye.S. , "Metody resheniya setochnykh uravneniy [Methods of grid equations solving]" (Moscow: The science, 1987), 130.
[19] Schlumberger , Eclipse reference manual: technical description (2002) 2683.
[20] Loix T. et al. , "Layout and performance of the power electronic converter platform for the VSYNC project" , 2009 IEEE Bucharest PowerTech (2009): 1-8.
[21] Parminder Singh , Learning Vulkan (Birmingham: Packt Publishing Ltd., 2016), 10-12.
[22] Karen L. et al. , "Visualization in Science Education", Alberta Science Education Journal, vol. 41, no 1 (2011): 22-30.
[23] John K. Gilbert, Miriam Reiner, Mary Nakhleh , Visualization: Theory and Practice in Science Education (Springer, 2008), 205-244.
[24] Linda M. Phillips, Stephen P. Norris, John S. Macnab , Visualization in Mathematics, Reading and Science Education (Springer, 2010), 65.
[25] Korakakis G. et al. , "3D visualization types in multimedia applications for science learning: A case study for 8th grade students in Greece" , Computers and Education, vol. 52, no 2 (2009): 390-401.

Downloads

How to Cite

Mustafin, M. B., Akhmed-Zaki, D. Z., & Turar, O. N. (2019). Application of Vulkan technology for 3D Visualization of large computing data which change over the time. Journal of Mathematics, Mechanics and Computer Science, 102(2), 46–55. https://doi.org/10.26577/JMMCS-2019-2-25