GPU Ray-traced Collision Detection - Fine Pipeline Reorganization

François Lehericey, Valérie Gouranton, Bruno Arnaldi

Abstract

Ray-tracing algorithms can be used to render a virtual scene and to detect collisions between objects. Numerous ray-tracing algorithms have been proposed which use data structures optimized for specific cases (rigid objects, deformable objects, etc.). Some solutions try to optimize performance by combining several algorithms to use the most efficient algorithm for each ray. This paper presents a ray-traced collision detection pipeline that improves the performance on a graphicd processing unit (GPU) when several ray-tracing algorithms are used. When combining several ray-tracing algorithms on a GPU, a well-known drawback is thread divergence among work-groups that can cause loss of performance by causing idle threads. In this paper we avoid branch divergence by dividing the ray tracing into three steps with append buffers in between. We also show that prediction can be used to avoid unnecessary synchronizations between the CPU and GPU. Applied to a narrow-phase collision detection algorithm, results show an improvement of performance up to 2.7 times.

References

  1. Allard, J., Faure, F., Courtecuisse, H., Falipou, F., Duriez, C., and Kry, P. (2010). Volume contact constraints at arbitrary resolution. ACM Transactions on Graphics (TOG), 29(4):82.
  2. Heidelberger, B., Teschner, M., and Gross, M. (2004). Detection of collisions and self-collisions using imagespace techniques.
  3. Heidelberger, B., Teschner, M., and Gross, M. H. (2003). Real-time volumetric intersections of deforming objects. In VMV, volume 3, pages 461-468.
  4. Hermann, E., Faure, F., Raffin, B., et al. (2008). Ray-traced collision detection for deformable bodies. In 3rd International Conference on Computer Graphics Theory and Applications, GRAPP 2008.
  5. Knott, D. (2003). Cinder: Collision and interference detection in real-time using graphics hardware.
  6. Kockara, S., Halic, T., Iqbal, K., Bayrak, C., and Rowe, R. (2007). Collision detection: A survey. In Systems, Man and Cybernetics, 2007. ISIC. IEEE International Conference on, pages 4046-4051. IEEE.
  7. Lehericey, F., Gouranton, V., and Arnaldi, B. (2013a). New iterative ray-traced collision detection algorithm for gpu architectures. In Proceedings of the 19th ACM Symposium on Virtual Reality Software and Technology, pages 215-218. ACM.
  8. Lehericey, F., Gouranton, V., Arnaldi, B., et al. (2013b). Ray-traced collision detection: Interpenetration control and multi-gpu performance. JVRC, pages 1-8.
  9. Liu, F., Harada, T., Lee, Y., and Kim, Y. J. (2010). Realtime collision culling of a million bodies on graphics processing units. In ACM Transactions on Graphics (TOG), volume 29, page 154. ACM.
  10. Nickolls, J. and Dally, W. J. (2010). The gpu computing era. IEEE Micro, 30(2):56-69.
  11. Pabst, S., Koch, A., and Straßer, W. (2010). Fast and scalable cpu/gpu collision detection for rigid and deformable surfaces. In Computer Graphics Forum, volume 29, pages 1605-1612. Wiley Online Library.
  12. Popov, S., Gü nther, J., Seidel, H.-P., and Slusallek, P. (2007). Stackless kd-tree traversal for high performance gpu ray tracing. In Computer Graphics Forum, volume 26, pages 415-424. Wiley Online Library.
  13. Tang, M., Manocha, D., Lin, J., and Tong, R. (2011). Collision-streams: fast gpu-based collision detection for deformable models. In Symposium on interactive 3D graphics and games, pages 63-70. ACM.
  14. Teschner, M., Kimmerle, S., Heidelberger, B., Zachmann, G., Raghupathi, L., Fuhrmann, A., Cani, M., Faure, F., Magnenat-Thalmann, N., Strasser, W., et al. (2005). Collision detection for deformable objects. In Computer Graphics Forum, volume 24, pages 61-81. Wiley Online Library.
  15. Wald, I., Boulos, S., and Shirley, P. (2007). Ray tracing deformable scenes using dynamic bounding volume hierarchies. ACM Transactions on Graphics (TOG), 26(1):6.
  16. Wang, B., Faure, F., and Pai, D. (2012). Adaptive imagebased intersection volume. ACM Transactions on Graphics (TOG), 31(4):97.
  17. Zhang, E. Z., Jiang, Y., Guo, Z., and Shen, X. (2010). Streamlining gpu applications on the fly: thread divergence elimination through runtime thread-data remapping. In Proceedings of the 24th ACM International Conference on Supercomputing, pages 115- 126. ACM.
Download


Paper Citation


in Harvard Style

Lehericey F., Gouranton V. and Arnaldi B. (2015). GPU Ray-traced Collision Detection - Fine Pipeline Reorganization . In Proceedings of the 10th International Conference on Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2015) ISBN 978-989-758-087-1, pages 317-324. DOI: 10.5220/0005299603170324


in Bibtex Style

@conference{grapp15,
author={François Lehericey and Valérie Gouranton and Bruno Arnaldi},
title={GPU Ray-traced Collision Detection - Fine Pipeline Reorganization},
booktitle={Proceedings of the 10th International Conference on Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2015)},
year={2015},
pages={317-324},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005299603170324},
isbn={978-989-758-087-1},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Computer Graphics Theory and Applications - Volume 1: GRAPP, (VISIGRAPP 2015)
TI - GPU Ray-traced Collision Detection - Fine Pipeline Reorganization
SN - 978-989-758-087-1
AU - Lehericey F.
AU - Gouranton V.
AU - Arnaldi B.
PY - 2015
SP - 317
EP - 324
DO - 10.5220/0005299603170324