Abstract
Position Based Dynamics is the most popular approach for simulating dynamic systems in computer graphics. However, volume rendering with linear deformation times is still a challenge in virtual scenes. In this work, we implemented Graphics Processing Unit (GPU)-based Position-Based Dynamics to iMSTK, an open-source toolkit for rapid prototyping interactive multi-modal surgical simulation. We utilized NVIDIA’s CUDA toolkit for this implementation and carried out vector calculations on GPU kernels while ensuring that threads do not overwrite the data used in other calculations. We compared our results with an available GPU-based Position-Based Dynamics solver. We gathered results on two computers with different specifications using affordable GPUs. The vertex (959 vertices) and tetrahedral mesh element (2591 elements) counts were kept the same for all calculations. Our implementation was able to speed up physics calculations by nearly 10x. For the size of 128 × 128, the CPU implementation carried out physics calculations in 7900 ms while our implementation carried out the same physics calculations in 820 ms.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bender, J., Müller, M., Macklin, M.: A survey on position-based dynamics 2017. In: Proceedings Eurographics Association Computer Graphics Tutors, pp. 1–31 (2017)
Müller, M., Heidelberger, B., Hennix, M., Ratcliff, J.: Position based dynamics. J. Vis. Commun. Image Represent. 18(2), 109–118 (2007)
Fratarcangeli, M., Pellacini, F.: A GPU-based implementation of position based dynamics for interactive deformable bodies. J. Graph. Tools 17(3), 59–66 (2013)
Yan, J., Arikatla, S., Wilson, A.: Fast deformation dynamics using model order reduction in iMSTK (2020)
Macklin, M., Müller, M., Chentanez, N., Kim, T.-Y.: Unified particle physics for real-time applications. ACM Trans. Graph. TOG 33(4), 1–12 (2014)
Sin, F.S., Schroeder, D., Barbič, J.: Vega: non-linear FEM deformable object simulator. Comput. Graph. Forum 32(1), 36–48 (2013)
Pan, J., et al.: Real-time VR simulation of laparoscopic cholecystectomy based on parallel position-based dynamics in GPU. In: 2020 IEEE Conference on Virtual Reality and 3D User Interfaces (VR), pp. 548–556 (2020)
Berndt, I., Torchelsen, R., Maciel, A.: Efficient surgical cutting with position-based dynamics. IEEE Comput. Graph. Appl. 37(3), 24–31 (2017)
Pan, J., Bai, J., Zhao, X., Hao, A., Qin, H.: Real-time haptic manipulation and cutting of hybrid soft tissue models by extended position-based dynamics. Comput. Animat. Virtual Worlds 26(3–4), 321–335 (2015)
Milaszewicz, J.P.: Improving jacobi and gauss-seidel iterations. Linear Algebra Its Appl. 93, 161–170 (1987)
Fratarcangeli, M., Tibaldo, V., Pellacini, F.: Vivace: a practical gauss-seidel method for stable soft body dynamics. ACM Trans. Graph. TOG 35(6), 1–9 (2016)
Cetinaslan, O.: Position-based simulation of elastic models on the GPU with energy aware gauss-seidel algorithm. Comput. Graph. Forum 38(8), 41–52 (2019)
Fatica, M.: CUDA toolkit and libraries. In: 2008 IEEE hot chips 20 symposium (HCS), pp. 1–22 (2008)
Acknowledgments
This project was supported by grants from the National Institutes of Health (NIH)/ NIBIB 1R01EB033674-01A1, 5R01EB025241–04, 3R01EB005807-09A1S1, and 5R01EB005807–10.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Demirel, D., Smith, J., Kockara, S., Halic, T. (2023). GPU Based Position Based Dynamics for Surgical Simulators. In: Fang, X. (eds) HCI in Games. HCII 2023. Lecture Notes in Computer Science, vol 14046. Springer, Cham. https://doi.org/10.1007/978-3-031-35930-9_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-35930-9_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-35929-3
Online ISBN: 978-3-031-35930-9
eBook Packages: Computer ScienceComputer Science (R0)